阿里JAVA开发规范,助你写出更干净整洁的代码

一、命名风格1.【强制】类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:DO/BO/DTO/VO/AO2.正例:MarcoPolo/UserDO/XmlService/TcpUdpDeal/TaPromotion3.反例:macroPolo/UserDo/XMLService/TCPUDPDeal/TAPromotion4.【强制】方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase格,必须遵从驼峰形式。5.正例:localValue/getHttpMessage(/inputUserId6.【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。7.正例:MAX_STOCK_COUNT反例:MAX_COUNT8.【强制】抽象类命名使用AbstractBase开头;异常类命名使用Exception尾;测试类命名以它要测试的类的名称开始,以Test结尾。9.【强制】Model类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。
10.反例:定义为基本数据类型BooleanisDeleted;的属性,它的方法也是isDeleted(RPC框架在反向解析的时候,“以为”对应的属性名称是deleted,导致属性获取不到,进而抛出异常。11.【强制】对于ServiceDAO类,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl的后缀与接口区别。正例:CacheManagerImpl实现CacheManager接口。12.【推荐】为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词组合来表达其意。正例:从远程仓库拉取代码的类命名为PullCodeFromRemoteRepository反例:变量inta;的随意命名方式。1.【推荐】接口类中的方法和属性不要加任何修饰符号(public也不要加),保持代码的简洁性,并加上有效Javadoc注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。正例:接口方法签名:voidf(;接口基础常量表示:StringCOMPANY="alibaba";反例:接口方法定义:publicabstractvoidf(;说明:JDK8中接口允许有默认实现,那么这个default方法,是对所有实现类都有价值的默认实现。
《阿里JAVA开发规范,助你写出更干净整洁的代码.doc》
将本文的Word文档下载,方便收藏和打印
推荐:
下载文档
热门推荐
相关推荐