### 阿里最新Java开发规范 #### 一、编程规约 ##### (一) 命名风格 - **强制规定**:所有代码中的命名不得以下划线`_`或美元符号`$`开始,也不得以它们结束。例如:`_name`, `name_$`, `name_`, `$name`, `name$`都是不被允许的。 - **强制规定**:严禁使用拼音与英文混合的方式命名,更不能直接使用中文的方式命名。例如:`DaZhePromotion[打折]`, `getPingfenByName()[评分]`, `int某变量=3`这些命名方式都不符合规范。 - **强制规定**:类名应当遵循`UpperCamelCase`风格,除非是某些特定的缩写词如`DO`(Data Object)、`BO`(Business Object)、`DTO`(Data Transfer Object)、`VO`(View Object)、`AO`(Application Object)、`PO`(Persistent Object)、`UID`(User Identification)等。例如:`UserDO`, `XmlService`, `TcpUdpDeal`, `TaPromotion`。 - **强制规定**:方法名、参数名、成员变量以及局部变量应当统一采用`lowerCamelCase`风格,并且必须遵循驼峰形式。例如:`localValue`, `getHttpMessage()`, `inputUserId`。 - **强制规定**:常量命名一律使用全大写,各单词之间以下划线`_`分隔,应力求语义清晰完整,避免过短的命名。例如:`MAX_STOCK_COUNT`而非`MAX_COUNT`。 - **强制规定**:抽象类的命名应以`Abstract`或`Base`开头;异常类的命名应以`Exception`结尾;测试类的命名应以其所测试的类的名称开始,并以`Test`结尾。 - **强制规定**:类型与中括号应紧密相连来表示数组。例如:`int[] arrayDemo;`。 - **强制规定**:在POJO类中,布尔类型的变量不应加`is`前缀,以避免部分框架解析时可能出现的序列化错误。例如:应避免使用`Boolean isDeleted`这种形式的属性及其相应的方法`isDeleted()`,因为这可能导致RPC框架在反向解析时将属性名误认为是`deleted`,从而引发异常。 - **强制规定**:包名统一使用小写字母,且各个单词之间只能通过点`.`进行分隔。包名统一使用单数形式,但类名如果具有复数含义时,类名可以使用复数形式。例如:应用工具类包名可以是`com.alibaba.ai.util`,类名为`MessageUtils`。 - **强制规定**:禁止使用完全不符合规范的缩写词,以避免阅读者无法理解其含义。例如:`AbstractClass`不应该被缩写为`AbsClass`,`condition`不应该被缩写为`condi`。 - **强制规定**:接口和其实现类的命名有两种规范: - 对于`Service`和`DAO`类,基于SOA(面向服务架构)理念,暴露的服务一定是以接口的形式存在,而内部的具体实现类则需要以`Impl`作为后缀以区分接口。例如:`CacheServiceImpl`实现了`CacheService`接口。 ##### (二) 常量定义 - **强制规定**:代码中不允许直接使用未经预先定义的常量(即所谓的魔法值)。例如:`String key = "Id#taobao_" + tradeId; cache.put(key, value);`这种方式是不允许的。 - **强制规定**:在对`long`或`Long`类型进行赋值时,数值后面应当使用大写的`L`,而不是小写的`l`,以避免与数字`1`混淆。例如:`Long a = 2L;`而非`Long a = 2l;`。 ##### (三) 代码格式 - **强制规定**:对于大括号的使用有明确的规定。如果大括号内为空,则可以直接写成`{}`,不需要换行;如果非空,则需要按照以下方式进行排布: - 左大括号前不换行。 - 左大括号后换行。 - 右大括号前换行。 - 如果右大括号之后还有`else`等代码,则不换行;如果右大括号用于表示终止,则必须换行。 - **强制规定**:左小括号与字符之间不留空格;右小括号与字符之间也不留空格;左大括号前面需要留空格。例如:`if (a == b)`。 - **强制规定**:所有的保留字(如`if`, `for`, `while`, `switch`, `do`等)与括号之间必须加空格。 - **强制规定**:任何二元或三元运算符的左右两边都需要加上一个空格。例如:`=`(赋值运算符)、`&&`(逻辑运算符)、加减乘除等符号。 - **强制规定**:采用四个空格进行缩进,禁止使用`tab`字符。如果确实需要使用`tab`缩进,那么必须将一个`tab`设置为四个空格。例如,在IDEA中设置`tab`为四个空格时,应确保所有缩进都保持一致。 以上是阿里最新Java开发规范中关于命名风格、常量定义及代码格式的部分核心内容。通过遵循这些规则,可以有效地提高代码的可读性和一致性,减少潜在的错误,并使得代码更加易于维护和扩展。
































剩余16页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 用VB制作学生成绩管理系统.doc
- 互联网金融时代的企业融资方式方法与典型案例.ppt
- 互联网+时代运用新媒体创新高职学生创业就业教育探析.docx
- 大型石化企业内部网络防毒策略.docx
- 公路水路交通运输信息化“十”发展规划.doc
- 网络安全技术在铁通计费管理网中的应用.docx
- 物联网在物流仓储管理中的运用探究.docx
- 进控制在建设工程项目管理中的应用.doc
- java网络编程技术课程方案设计书.doc
- 可信网络安全架构.doc
- C兼容微处理器单片机PWM控制器设计方案.doc
- 《项目管理》教学大纲.doc
- 软件工程试卷试卷(二).doc
- PLC的全自动灌溉控制系统的设计方案.doc
- 基于ASP的精英培训网站的设计与实现.doc
- 利用卷积神经网络智能识别技术实现餐厅自助结账.docx


