java - 如果条件命名约定
问题描述
我有一个布尔函数来检查扫描数据键是否有效。我将其命名为:
areScandataKeysValid()
对于命名约定,应该将其命名为 isScandataDataKeysValid() 还是像我上面所做的那样?在 Clean Code book 中,我只看到了带有is version 的示例。所以,我很困惑哪一个有意义?从语法上讲,“是”是肯定的。
解决方案
该isName()
约定是 JavaBeans 标准的一部分,适用于布尔值属性。
如果您的 API 不需要与 JavaBeans 兼容,则可以忽略该约定。
如果您检查扫描键的方法不打算用作“属性”的吸气剂,则该
isName()
约定不适用。
由于语法不和谐,我同意您对areScandataKeysValid
over的偏好。isScandataKeysValid
还有其他选择可以考虑;例如
hasValidScandataKeys
对于谓词,或validateScandataKeys
或者checkScandataKeys
对于(通常)抛出异常以指示无效的方法。
我不知道有任何支持上述任何一种的书面约定(即样式指南)。(没有什么说“好的语法”是必不可少的。)
底线:您的选择。
推荐阅读
- ios - 使用带有 MKOverlay 的图像的内存泄漏崩溃
- javascript - localhost:3000/app.js 而不是 app/www/app.js
- django - 如何将 Django 模型日期字段默认值设置为未来日期?
- javascript - 0 将数据从工作表复制到文件时无法识别数字
- sql - SSRS 隐藏#Error
- jenkins - Jenkins Multijob 执行显示父作业已完成,即使其子作业仍在运行
- postgresql - postgres_fdw 下推总和和计数,但不是最小值和最大值
- python - 如何为创建存储桶操作编写单元测试
- excel - 在 Excel 中传输数据
- c# - 完整 .NET 和 .NET Core 之间的 WCF 基本身份验证