阿里巴巴java开发手册

一、编程规约

(一)命名风格

  1. 【强制】代码中的命名均不能以下划线或美元符号开始和结束。

反例:_name/__name / $name / name_ / name$ / name_
  1. 【强制】所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。

说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,纯拼音命名方式更要避免采用。正例: ali / alibaba / taobao / cainiao/ aliyun/ youku / hangzhou等国际通用的名称,可视同英文。反例:DaZhePromotion [打折] / getPingfenByName([评分] /String fw[福娃] / int某变量=3
  1. 【强制】代码和注释中都要避免使用任何语言的种族歧视性词语。

正例:日本人/印度人/ blockList / allowList / secondary
反例:RIBENGUIZI/ Asan / blackList / whiteList / slave
  1. 【强制】类名使用UpperCamelCase风格,但以下情形例外:DO / BO / DTO / vO / AO/

PO / UID等。

正例: ForceCode / UserDO / HtmIDTO / XmIService / TcpUdpDeal / TaPromotion反例 : forcecode / UserDo / HTMLDto/ XMLService / TCPUDPDeal / TAPromotion
  1. 【强制】方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase 风格

正例:localValue / getHttpMessage0 / inputUserld
  1. 【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

正例:MAX_STOCK_COUNT / CACHE_EXPIRED_TIME
  1. 【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。

  1. 【强制】类型与中括号紧挨相连来表示数组。int[] arrayDemo

正例:定义整形数组int[] arrayDemo。
反例:在main参数中,使用String args[]来定义。
  1. 【强制】POJO类中的任何布尔类型的变量,都不要加is前缀,否则部分框架解析会引起序列化错误。

说明:在本文MySQL规约中的建表约定第一条,表达是与否的变量采用is_xx的命名方式,所以,需要在<resultMap>设置从 is_xxx到xxx的映射关系。
反例∶定义为基本数据类型boolean isDeleted的属性,它的方法也是 isDeleted(),框架在反向解析的时候,“误以为”对应的属性名称是deleted,导致属性获取不到,进而抛出异常。
  1. 【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。

正例:应用工具类包名为com.alibaba.ei.kunlun.aap.util、类名为MessageUtils (此规则参考spring的框架结构)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值