变量名中不包括数据类型

Not including data type in variable name

在 PR 中,我得到了一些重命名变量的建议。向fi提出了建议。连接 *MutableLiveData.

private val _state = MutableLiveData<AppointmentsUiState>()
val state: LiveData<AppointmentsUiState>
    get() = _state

我的两个变量。这是一个 Android ViewModel。在这些建议之后,我同意 uiState 可能会更好。但是,2 个建议是 stateMutableLiveDatastateObservable。我不喜欢这些名字,但我的问题是我想不出 有效 不使用他们的建议的理由,除了:

为什么不把数据类型放在变量名中?

  • 冗余

您可以看到变量的类型,因此如果您在名称中写下它们的类型,您就可以复制信息。

  • 可维护性

您将变量与其类型耦合,因此如果您更改类型,则必须更改名称。

  • 歧义

如果您的变量有多个接口,您必须选择其中之一。