If 条件命名约定
If condition naming convention
我有一个布尔函数来检查 scandata 键是否有效。我将其命名为:
areScandataKeysValid()
对于命名约定,它应该命名为 isScandataDataKeysValid() 还是像我上面那样命名?。在 Clean Code 书中,我只看到 is 版本的示例。所以,我很困惑哪个有意义?在语法上,“是”是肯定的。
isName()
约定是 JavaBeans 标准的一部分,适用于布尔值属性。
如果您的 API 不需要与 JavaBeans 兼容,您可以忽略该约定。
如果您检查扫描键的方法不打算用作 "property" 的 getter,则 isName()
约定不适用。
我同意你对 areScandataKeysValid
的偏好,而不是 isScandataKeysValid
,因为语法不一致。还有其他选择需要考虑;例如
hasValidScandataKeys
用于谓词,或
validateScandataKeys
或 checkScandataKeys
对于(通常)抛出异常以指示无效的方法。
我不知道有任何支持上述任何一种的约定俗成的文档(即风格指南)。 (没有说 "good grammar" 是必不可少的。)
底线:您的选择。
我认为"is"或"are"是多余的。最重要的是谓词函数有一个形容词作为最后一个词。因此,我将方法命名为 scanDataKeysValid,或者如果从 class 的上下文中可以清楚地看出,则简单地命名为 keysValid.
我有一个布尔函数来检查 scandata 键是否有效。我将其命名为:
areScandataKeysValid()
对于命名约定,它应该命名为 isScandataDataKeysValid() 还是像我上面那样命名?。在 Clean Code 书中,我只看到 is 版本的示例。所以,我很困惑哪个有意义?在语法上,“是”是肯定的。
isName()
约定是 JavaBeans 标准的一部分,适用于布尔值属性。
如果您的 API 不需要与 JavaBeans 兼容,您可以忽略该约定。
如果您检查扫描键的方法不打算用作 "property" 的 getter,则
isName()
约定不适用。
我同意你对 areScandataKeysValid
的偏好,而不是 isScandataKeysValid
,因为语法不一致。还有其他选择需要考虑;例如
hasValidScandataKeys
用于谓词,或validateScandataKeys
或checkScandataKeys
对于(通常)抛出异常以指示无效的方法。
我不知道有任何支持上述任何一种的约定俗成的文档(即风格指南)。 (没有说 "good grammar" 是必不可少的。)
底线:您的选择。
我认为"is"或"are"是多余的。最重要的是谓词函数有一个形容词作为最后一个词。因此,我将方法命名为 scanDataKeysValid,或者如果从 class 的上下文中可以清楚地看出,则简单地命名为 keysValid.