变量名称中不包括数据类型



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

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

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

  • 鲍勃叔叔说不要把数据类型放入名称中
  • Observable可以是一种类型,它不是Observable;LiveData恰好是可观测的
  • 感觉很恶心

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

  • 冗余

你可以看到变量的类型,所以如果你把它们的类型写在它们的名字里,你只需要复制信息。

  • 可维护性

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

  • 歧义

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

最新更新