Java复数缩写命名规范:采用CamelCase时哪种写法更合规?
关于缩写复数的CamelCase命名建议
首先直接给结论:findAllDvds是行业更普遍接受的写法,原因如下:
符合Java命名的常规逻辑:当缩写在CamelCase中使用时,单数形式是将缩写调整为适配大/小驼峰的格式(比如这里跟着
findAll,所以是Dvd),复数就是在末尾直接加小写s。类似的行业常见写法还有getAllUrls()而非getAllUrl()、getAllIps()而非getAllIp(),读者一眼就能明白这是对应缩写的集合。解决“all”与单数的逻辑矛盾:
findAllDvd会让看到代码的人瞬间困惑——既然是“all(全部)”,为什么用单数形式?是笔误?还是这个方法其实只返回一个DVD?这种逻辑上的不一致会额外增加理解成本,反而不如findAllDvds直观。关于被误解为新缩写
DVDS的担忧:其实完全没必要过度担心——DVD是行业内极其普及的缩写,大家看到Dvds第一反应就是“多个DVD”,几乎不会联想到什么新的四字母缩写。除非你的代码体系里真的存在DVDS这个全新缩写,否则这种歧义出现的概率可以忽略不计。
如果实在追求极致无歧义,也可以考虑更详尽的命名比如findAllDvdDiscs(),但这会显得冗余;在上下文明确(比如方法返回List<Disc>、参数是DiscHolder)的情况下,findAllDvds已经是简洁性和可读性的最佳平衡。
内容的提问来源于stack exchange,提问作者Jai
相关产品推荐
相关产品推荐

