当前位置:   article > 正文

JAVA编程规定约束(阿里巴巴简化版)_代码约束能不能用小写

代码约束能不能用小写

这是阿里巴巴公司制定的java编程规约。目的是让所写代码规范化,能够节省他人过代码的效率。优化了代码简洁度。

我是“代码届”的搬运工。这是阿里巴巴的代码编程规范。我挑选了一些重点。并且将之分类了。可以根据目录来进行查看。看哪类查哪类,做到高效规范!

@[TOC]

  1. 常量定义

  1. 代码格式

  1. OOP规约

  1. 集合处理

  1. 并发处理

  1. 控制语句

  1. 注释规约

  1. 其他


@[TOC]

1.命令风格

  • 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。

反例:_name / __name / $Object / name_ / name$ / Object$


  • 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。

说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式

也要避免采用。

正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。

反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3


  • 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

正例:MAX_STOCK_COUNT

反例:MAX_COUNT


  • 方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从

驼峰形式。

正例: localValue / getHttpMessage() / inputUserId


  • 抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类

命名以它要测试的类的名称开始,以 Test 结尾。


  • 中括号是数组类型的一部分,数组定义如下:String[] args;

反例:使用 String args[]的方式来定义。


  • POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。

反例:定义为基本数据类型 Boolean isDeleted;的属性,它的方法也是 isDeleted(),RPC框架在反向解析的时候,“以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常。


  • 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用

单数形式,但是类名如果有复数含义,类名可以使用复数形式。

正例: 应用工具类包名为 com.alibaba.open.util、类名为 MessageUtils(此规则参考

spring 的框架结构)


  • 杜绝完全不规范的缩写,避免望文不知义。

反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随

意缩写严重降低了代码的可阅读性。


  • 接口和实现类的命名有两套规则:

1)对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部

的实现类用 Impl 的后缀与接口区别。

正例:CacheServiceImpl 实现 CacheService 接口。

2)如果是形容能力的接口名称,取对应的形容词做接口名(通常是–able 的形式)。

正例:AbstractTranslator 实现 Translatable。

============================================

2.常量定义

  • 不允许任何魔法值(即未经定义的常量)直接出现在代码中。

反例:String key = "Id#taobao_" + tradeId;

cache.put(key, value);


  • long 或者 Long 初始赋值时,使用大写的 L,不能是小写的 l,小写容易跟数字 1 混

淆,造成误解。

==========================================================

3.代码格式

  • 大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果

是非空代码块则:

1) 左大括号前不换行。

2) 左大括号后换行。

3) 右大括号前换行。

4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。


  • 左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格。详见

第 5 条下方正例提示。

反例:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/929718
推荐阅读
相关标签
  

闽ICP备14008679号