阿里巴巴编码规范笔记

(一)命名风格

1.不能以下划线或美元符号,下划线或美元符号

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

3.驼峰命名

4.常量命名全大写用_隔开

5.POJO不要添加is前缀,否则部分框架解析会引起序列化错误

6. 包名统一使用小写,包名统一使用单数形式,类名可以使用复数形式

7.避免在父子类之间、或者不同的代码块局部变量之间采用完全相同的命名

8.杜绝不规范的缩写

9.尽量完整的单子组合表达AtomicReferenceFieldUpdater

10.表示类型的放在词伟

11.命名时需要提现设计模式

12.接口方法不加修饰符,尽量不要在接口里定义变量。

13.形容能力的接口名称,取对应的形容词为接口名(通常是-able的形容词)

14.枚举带上Enum,成员大写,单词用下划线隔开。

(二)常量定义

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

4. 不要使用一个常量类维护所有常量,要按照常量功能进行归类,分开维护。通常定义五层常量:跨应用共享常量,应用内共享常量,子工程内共享常量、包内共享常量、类内共享常量private static final。(1) 跨应用共享常量:放置在二方库中(2)应用内的共享常量:放置在一方库中,通常是子模块的constant目录下。

5. week 或者 Seanson有延伸信息的使用enum来定义。

(三)代码风格

3.if/for/while/switch/do保留字与括号间必须加空格。

4.任何二目、三目运算符的左右两边都需要加一个空格。

5.采用4个空格缩进,禁止使用tab字符。IDEA勾选use tab character;而eclipse,必须勾选insert spaces for tabs。

6.强制转换 long first=1000L; int second=(int)first+2;不需要空格

8.单行字符限制不超过120个字符:(1)第二行缩进4个空格(2)运算符与下文一起换行(3)方法调用的点符号与下文一起换行(4)方法调用中的多个参数需要换行时,在逗号后进行。method(args1,args2,argsx);

9. 方法参数在定义和传入时,多个参数逗号后边必须加空格。method(args1,空格args2,空格args3)

11.单个方法的总数不超过80行

12. 每行=号没有必要对齐

13.不同逻辑,不同语义,不同业务之间的代码之间插入一个空行分隔开来可以提升可读性。

(四)OOP 规约

1.静态类和方法直接用类名来访问即可

2.所有的覆写方法,必须家@Override

3.相同参数类型,相同业务含义,才能使用java的可变参数,避免使用Object

6.使用常量或者确定值来调用equals

7.所有包装对象间的值比较,全部使用equals方法比较。

8.float浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用equals来判断。

10.禁止使用构造方法BigDecimal(double)的方式把double值转化为bigdecimal。推荐入参String的构造方法或者BigDecimal的valueOf方法。

11. 所有POJO类属性必须使用包装数据类型(数据库返回null,用基本数据类型接收有NPE的风险),RPC 方法返回值和参数必须使用包装数据类型,所有的局部变量使用基本数据类型。

12. 定义POJO类时,不要设定任何属性默认值

13.不要需改serialversionUID,如果完全不兼容升级才修改。

14.构造方法里禁止加入业务逻辑,如果有请放在init方法中。

15.POJO类必须写toString方法,继承注意前面加一下super.toString。

21.循环体内,使用stringbuilder的append方法进行扩展

你可能感兴趣的:(阿里巴巴编码规范笔记)