首页 > 解决方案 > 如果条件命名约定

问题描述

我有一个布尔函数来检查扫描数据键是否有效。我将其命名为:

areScandataKeysValid()

对于命名约定,应该将其命名为 isScandataDataKeysValid() 还是像我上面所做的那样?在 Clean Code book 中,我只看到了带有is version 的示例。所以,我很困惑哪一个有意义?从语法上讲,“”是肯定的。

标签: javabooleancoding-stylenaming-conventions

解决方案


isName()约定是 JavaBeans 标准的一部分,适用于布尔值属性。

  • 如果您的 API 不需要与 JavaBeans 兼容,则可以忽略该约定。

  • 如果您检查扫描键的方法不打算用作“属性”的吸气剂,则该isName()约定不适用。

由于语法不和谐,我同意您对areScandataKeysValidover的偏好。isScandataKeysValid还有其他选择可以考虑;例如

  • hasValidScandataKeys对于谓词,或
  • validateScandataKeys或者checkScandataKeys对于(通常)抛出异常以指示无效的方法。

我不知道有任何支持上述任何一种的书面约定(即样式指南)。(没有什么说“好的语法”是必不可少的。)

底线:您的选择。


推荐阅读