美文网首页
命名和常量规约(java开发规范 阿里巴巴)

命名和常量规约(java开发规范 阿里巴巴)

作者: 黄靠谱 | 来源:发表于2019-06-10 17:34 被阅读0次

命名规约

  • 类名采用大驼峰形式,一般为名词,例如 Object.但以下情形例外:(领域模型的相关命名)DO/ BO / DTO/ VO等。
  • 方法名采用小驼峰形式,一般为动词,与参数组成动宾结构,例如wait()。
  • 变量包括参数 成员变量、局部变量等 也采用小驼峰形式。
  • 包名统使用小写,点分隔符之间有且仅有1个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义可以使用复数形式。
  • 抽象类命名使用 Abstract Base 开头 异常类命名使用 Exception 结尾,测试类命名以它要测试的类名开始,以Test结尾。
  • POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误,比如属性 isDeleted,get set方法中会出错的

重点注意:

  • 注意userId 中的id不能全大写,Udp、Xml、Tcp等等也不能全用大写

  • 常量的命名方式比较特殊,字母全部大写,单词之间用下画线连接。力求语义表达完整清楚,不要嫌名字长,比如,把最大库存数量命名为MAX_STOCK_COUNT

  • 枚举类名带上Enum后缀,枚举成员名称需要全大写,单词间用下画线隔开(好处是使用 IDEA可以 ShiftShift搜索很快,所有的枚举类都知道了)

  • 望文知义是在不需要额外解释的情况下 仅从名称上就能够理解某个词旬的确切含义。命名做到望文知义、自解释是每个开发工程师的基本素质之一。不要为了缩减长度而取不完整的字符,IDEA有自动生成的功能。

  • 杜绝完全不规范的缩写,避免望文不知义。反例:AbstractClass“缩写”命名成AbsClass;condition“缩写”命名成condi,此类随意缩写严重降低了代码的可阅读性

  • 接口类中的方法和属性不要加任何修饰符号(public也不要加),保持代码的简洁性,并加上有效的Javadoc注释。
    尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量

  • 接口和实现类的命名:对于Service和DAO类,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl的后缀与接口区别。正例:CacheServiceImpl实现CacheService接口。

  • Service/DAO 层方法命名规约
    1) 获取单个对象的方法用 get 做前缀。
    2) 获取多个对象的方法用 list 做前缀。
    3) 获取统计值的方法用 count 做前缀。
    4) 插入的方法用 save(推荐)或 insert 做前缀。
    5) 删除的方法用 remove(推荐)或 delete 做前缀。
    6) 修改的方法用 update 做前缀。

常量定义

  1. 不允许出现任何魔法值(即未经定义的常量)直接出现在代码中。
    反例: String key="Id#taobao_"+tradeId;

  2. long 或者 Long 初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字1 混淆,造成误解。
    说明:Long a = 2l; 写的是数字的 21,还是 Long 型的 2l

  3. 不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。如:缓存相关的常量放在类:CacheConsts 下;系统配置相关的常量放在类:ConfigConsts 下。
    说明:大而全的常量类,非得使用查找功能才能定位到修改的常量,不利于理解和维护。

相关文章

网友评论

      本文标题:命名和常量规约(java开发规范 阿里巴巴)

      本文链接:https://www.haomeiwen.com/subject/rsktfctx.html