【发布时间】:2012-09-16 00:43:30
【问题描述】:
在编写布尔 getter/setter 方法时,这样编写它们似乎是标准的
void setValue(boolean value) { }
boolean getValue() { return true/false; }
但是我看到了一些用法,其中指出 getter 方法应根据其用法适当命名。
例如,如果我的 getter 被调用,我正在设置/获取一个名为“启用”的布尔值:
getEnabled()
或
isEnabled()
再次假设我正在设置/获取一个名为“节点”的布尔值,如果我的 getter 被调用:
getNodes()
或
hasNodes()
这只是个人喜好,还是选择一个特定的命名约定而不是另一个是一种好习惯?
【问题讨论】:
-
nodes听起来是一个很糟糕的布尔值名称。 -
我会说这取决于您的个人喜好(或您的团队/雇主的喜好)。但是,我只想声明,如果我看到
bool getNode()方法,我会感到困惑...... -
如果“nodes”是布尔值,最好使用“isNodes”,但如果“nodes”是集合,那么“hasNodes”更好
-
c# 具有作为一流概念的属性:在 c# 中通常不会有明确的 getValue / setValue - 你会有一个带有 get/set accessor的 Value >
-
见 Jigar Joshi 的 this answer。
标签: c# java oop coding-style boolean