阿里巴巴Java开发手册查漏补缺

阿里巴巴Java开发手册查漏补缺

作者

一、编程规范

(一)命名风格

  • 5 常量名全部大写,单词之间下划线:MAX_STOCK_COUNT
  • 7 数组定义:String[] args
  • 8 POJO类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。

(二)常量定义

  • 2 long型赋值,用大写的L,Long a=2L;

(三)代码格式

  • 1 大括号
1
2
3
4
5
6
if (a == b) {
// 判断语句里没有括号与a==b没有空格
} else {


}
  • 4 任何二目、三目运算符的左右两边都需要加一个空格:a == ba = b
  • 5 采用4个空格缩进
  • 6 注释的双斜线与注释内容之间 有且仅有一个空格
  • 7 单行字符超过120个字符换行,第二行相对第一行继续缩进4字符,第三回不继续缩进
  • 8 方法参数在定义和传入时,多个参数逗号后边必须加空格method("a", "b", "c");
  • 9 IDE的text file encoding设置为UTF-8;

(四) OOP 规约

  • 1 静态变量或静态方法,直接使用类名访问
  • 2 所有的覆写方法,必须加@Override 注解。
  • 6 Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。
  • 15 类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter 方法。
  • 19 Object实现的是浅拷贝

(五)集合处理

(六)并发处理

(七)控制语句

  • 1 在一个 switch 块内,都必须包含一个 default 语句并且 放在最后,即使它什么代码也没有。
  • 2 if wlse for while do语句必须有大括号,

(八)注释

  • 1 Javadoc注释
  • 5 枚举字段要有注释
  • 11 代办事宜(TODO):(标记人,标记时间,[预计处理时间])
    错误,不能工作(FIXME):(标记人,标记时间,[预计处理时间])

(九)其他

  • 4 注意 Math.random() 这个方法返回是 double 类型,注意取值的范围 0≤x<1(能够 取到零值,注意除零异常),如果想获取整数类型的随机数,不要将 x 放大 10 的若干倍然后 取整,直接使用 Random 对象的 nextInt 或者 nextLong 方法。
  • 5 获取当前毫秒数 System.currentTimeMillis();如果想获取更加精确的纳秒级时间值,使用 System.nanoTime()的方式

二、异常处理

三、单元测试

四、安全规约

五、MySQL

六、工程结构