Java代码规范之命名

Java代码规范之命名

软件中随处可见命名。我们给变量、函数、参数、类和包命名。我们给源代码及源代码所在目录命名。命名规范有助于提高效率和提升代码可读性,在此记录一些命名的规范和技巧,详细的可以参见《代码整洁之道》

有意义的命名

  1. 名副其实,见名知意
    变量名太随意,hahalist1oktheList 这些都无意义
  2. 避免误导
    • 包含List、import、java等类名、关键字或特殊字;
    • 字母o与数字0,字母l与数字1等
    • 提防使用不同之处较小的名称。比如:XYZControllerForEfficientHandlingOfStringsXYZControllerForEfficientStorageOfStrings
  3. 做有意义的区分
    • 反面教材,变量名:a1、a2、a3
    • 避免冗余,不要出现Variable、表字段中避免出现table、字符串避免出现nameString
  4. 使用读得出来的名称
    • 不要使用自己拼凑出来的单词,比如:xsxm(学生姓名);genymdhms(生成日期,年、月、日、时、分、秒)
    • 所谓的驼峰命名法,尽量使用完整的单词
  5. 使用可搜索的名称
    一些常量,最好不直接使用数字,而指定一个变量名,这个变量名可以便于搜索到.
    比如:找MAX_CLASSES_PER_STUDENT很容易,但想找数字7就麻烦了。
  6. 避免使用编码
    • 匈牙利语标记法:即变量名表明该变量数据类型的小写字母开始。例如,szCmdLine的前缀sz表示“以零结束的字符串”。
    • 成员前缀:避免使用前缀
    • 接口和实现:作者不喜欢把接口使用I来开头,实现也希望只是在后面添加Imp
  7. 避免思维映射
    比如传统上惯用单字母名称做循环计数器。所以就不要给一些非计数器的变量命名为:i、j、k等
  8. 类名:类名与对象名应该是名词与名词短语。如Customer、WikiPage、Account和AddressParser。避免使用Data或Info这样的类名。
    不能使动词。比如:Manage、Process
  9. 方法名:方法名应当是动词或者动词短语。如postPaymentdeletePage
  10. 每个概念对应一个词:项目中同时出现controllers与managers统一使用其中一种
  11. 别用双关语:有时可能使用add并不合适,比如insert、append。add表示完整的新添加的含义。
  12. 使用解决方案领域名称:尽量用计算机科学术语、算法名、模式名、数学术语,依据问题所涉领域来命名不算是聪明的做法。
  13. 使用源自所涉问题领域的名称:如果不能用程序员熟悉的术语来给手头的工作命名,就采用从所涉问题领域而来的名称。
  14. 添加有意义的语境:可以把相关的变量放到一个类中,使用这个类来表明语境。
  15. 不要添加没用的语境:名字中带有项目的缩写,这样完全没有必要。比如有一个名为“加油站豪华版”(Gas Station Deluxe)的项目,在其中给每个类添加GSD前缀就不是什么好策略。
  16. 取好名字最难的地方在于需要良好的描述技巧和共有文化背景。

Java中的名称命名规范

  • 包名:多单词组成时所有字母都小写xxxyyyzzz
  • 类名、接口名:多单词组成时,所有单词首字母大写XxxYyyZzz
  • 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
  • 常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值