【问题标题】:Using did as boolean flag name使用 did 作为布尔标志名
【发布时间】:2018-04-30 17:58:06
【问题描述】:

我将我的一个布尔参数命名为didInfoChange

我团队中的许多人告诉我将其更改为 isInfoChanged,我不同意。可能是因为我的团队成员不是以英语为母语的人(我也不是),但我觉得ifInfoChanged 是不对的。

didInfoChange -> Did information change? -> True/False

在我看来很理解

isInfoChanged -> is info changed?

听起来不太对劲。 争论这个可能没什么大不了的,但我做了一些搜索,人们并没有真正使用did 作为标志名称。 hasInfoChanged 没问题,但 hasdid 基本上是一回事。

我想知道为什么did 不行?

【问题讨论】:

  • 我赞成infoChanged。但如果我团队中的每个人都希望我使用错误的名字,我可能会遵守,为了和谐。
  • 感谢您的回复,我也可以使用infoChanged,但由于其他所有操作都使用is 完成,所以每个人都想在所有事情前坚持is。由于人们对此争论不休,因此我的 PR 没有被审查,这需要很长时间。但是,我觉得如果有什么不对的地方,那就应该改变。

标签: coding-style naming-conventions


【解决方案1】:

这里有两个问题:

1) didInfoChangeisInfoChanged 哪个更好?

英文单词“change”可以是及物或不及物,但在这种情况下,很明显“信息发生了变化”“信息确实发生了变化”意思完全一样。 (在内涵上有细微的差别,但在这里无关紧要。)这两个名字的长度相同。除了样式约定,似乎没有什么区别。

2)如果你的方式比他们的好,你应该怎么做?

考虑你的行为的后果。

如果您有能力说服团队的其他成员免费使用您的变量名,那么请这样做。如果这样做会导致压力(例如,通过命令下属做他们认为不好的事情),那么风格的改进可能并不是团队动态的成本。

如果你无法说服他们,但你可以延长争论并阻止团队进行建设性工作,那么……不要。使用它们的变量名。

如果你不能延长争论,但你可以通过争论使自己不受欢迎,那么......不要。使用它们的变量名。

【讨论】:

    【解决方案2】:

    除了 is 之外,有时也可以使用 has 来命名布尔 getter 方法,具体取决于口语中使用的助动词;我从未将 did 视为布尔标识符的一部分。

    使用 hasInfoChanged,您将保留分词结尾 (e)d。也许这会让您团队的其他成员满意。

    infoChanged 可能被误认为是 EventHandler-Delegate。

    很遗憾,我也不是以英语为母语的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-10
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多