使用did作为布尔标志名称

时间:2017-11-17 02:44:41

标签: coding-style naming-conventions

我命名了一个布尔参数didInfoChange

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

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

在我的观点中非常明白

isInfoChanged -> is info changed?

听起来不对劲。 对此进行斗争可能不是什么大不了的事,但我做了一些搜索,人们并没有真正使用did作为旗帜名称。我对hasInfoChanged感到满意,但hasdid基本相同。

我想知道为什么did不行?

2 个答案:

答案 0 :(得分:0)

这里有两个问题:

1)哪个更好,didInfoChangeisInfoChanged

英文单词“change”可以是传递性的或不及物的,但在这种情况下,显然“信息已更改”“信息确实发生了变化”意思是完全一样的。 (内涵有细微的差别,但这里并不重要。)这两个名字的长度相同。除了样式约定之外似乎没有区别。

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

考虑你行为的后果。

如果您有能力说服团队的其他成员免费使用您的变量名称,那么请执行此操作。如果这样做会导致压力(例如,通过命令你的下属做一些他们认为是坏主意的事情),那么风格的改善可能不是团队动态的成本。

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

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

答案 1 :(得分:0)

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

使用 hasInfoChanged ,您可以使分词(e)d 结束。也许这会让你的团队其他成员满意。

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

不幸的是,我也不是母语为英语的人。