验证方法的良好命名规范是什么?重复校验类方法如何正确命名
校验方法命名选择结论
最合适的选项是第3项 validateNonDuplication,如果允许自定义命名也可以选择更符合业界通用习惯的第4类命名。
命名规则解释
校验类方法的通用命名逻辑为 校验动作前缀 + 要求入参满足的合法状态,方法触发异常的条件就是入参不符合后面标注的合法状态。
各选项逐一分析
- 选项1
validateIsDuplicated:字面含义为「校验是否是重复的」,隐含要求入参有重复才算校验通过,和需求完全相悖,排除。 - 选项2
validateDuplication:duplication本身的词义就是「重复、重复项」,校验目标为「存在重复」,同样和需求不符,排除。 - 选项3
validateNonDuplication:nonDuplication词义为「无重复」,刚好匹配需求里的合法条件:列表必须没有重复项,存在重复就触发异常,语义完全匹配。
更通用的可选命名(属于选项4范畴)
如果团队没有强制要求前缀必须用validate,还有更符合主流开发语言命名习惯的写法:
checkNoDuplicates:直白话明检查目标是无重复,不符合就抛异常,是多数语言里这类工具方法的常用命名requireNonDuplicated:和JavaObjects.requireNonNull、GomustXXX类断言方法的命名风格统一,适合工具类的强制校验方法
内容的提问来源于stack exchange,提问作者chl
相关产品推荐
相关产品推荐

