引申和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要提防的雷区,以及真实的错误案例。
本手册的愿景是码出质量、码出高效。代码的字里行间流淌的是软件生命中的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升质量意识。另外,现代软件架构都需要协同开发完成,高效考虑的是降低协同成本,所谓无规矩不成方圆,无规范不能协作。众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,没有规定靠右行驶,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率。
《阿里巴巴Java开发手册》,开放包容地认真总结社区、博客、论坛的反馈,及时修正,保持与时俱进。请关注手册末页的“阿里技术”和“云栖社区”公众号获取最新版。
禁止用于商业用途,违者必究
137
f版本号110
阿里巴巴Java开发手册
Java开发手册
制定团队
更新日期
备注
阿里巴巴集团技术团队
2017227
增加前言和专有名词说明,修正部分描述。
一、编程规约
一命名规约
1【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_
ame__
ameObject
ame_
ameObject
2【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。反例:DaZhePromotio
打折getPi
gfe
ByName评分i
t某变量3正例:alibabataobaoyoukuha
gzhou等国际通用的名称,可视同英文。
3【强制】类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DOBODTOVO等。正例:MarcoPoloUserDOXmlServiceTcpUdpDealTaPromotio
反例:macroPoloUserDoXMLServiceTCPUDPDealTAPromotio
4【强制】方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。正例:localValuegetHttpMessagei
putUserId
5【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。正例:MAX_STOCK_COUNT反例:MAX_COUNT
6【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exceptio
结尾;测试类命名以它要测试的类的名称开始,以Test结尾。
7【强制】中括号是数组类型的一部分,数组定义如下:Stri
gr