《阿里巴巴Java开发手册》3-1之建表规约

MySQL - 建表规约

  1. 【强制】表达是与否概念的字段,必须使用 is _ xxx 的方式命名,数据类型是 unsigned tinyint
    ( 1 表示是,0 表示否 ) ,此规则同样适用于 odps 建表。
    说明:任何字段如果为非负数,必须是 unsigned 。
  2. 【强制】表名、字段名必须使用小写字母或数字 ; 禁止出现数字开头,禁止两个下划线中间只
    出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。
    正例: getter admin , task config , level 3_ name
    反例: GetterAdmin , taskConfig , level 3 name
  3. 【强制】表名不使用复数名词。
    说明:表名应该仅仅表示表里面的实体内容,不应该表示实体数量,对应于 DO 类名也是单数
    形式,符合表达习惯。
  4. 【强制】禁用保留字,如 desc 、 range 、 match 、 delayed 等,请参考 MySQL 官方保留字。


《阿里巴巴Java开发手册》2-2之日志规约

异常日志 - 日志规约

  1. 【强制】应用中不可直接使用日志系统 (Log 4 j 、 Logback) 中的 API ,而应依赖使用日志框架
    SLF 4 J 中的 API ,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。

    1
    2
    3
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    private static final Logger logger = LoggerFactory.getLogger(Abc.class);
  2. 【强制】日志文件推荐至少保存 15 天,因为有些异常具备以“周”为频次发生的特点。



《阿里巴巴Java开发手册》2-1之异常处理

异常日志 - 异常处理

  1. 【强制】不要捕获 Java 类库中定义的继承自 RuntimeException 的运行时异常类,如:
    IndexOutOfBoundsException / NullPointerException,这类异常由程序员预检查
    来规避,保证程序健壮性。
    正例:

    1
    if(obj != null) {...}

    反例:

    1
    try { obj.method() } catch(NullPointerException e){...}
  2. 【强制】异常不要用来做流程控制,条件控制,因为异常的处理效率比条件分支低。



《阿里巴巴Java开发手册》1-9之其它

编程规约 - 其它

  1. 【强制】在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。
    说明:不要在方法体内定义: Pattern pattern = Pattern . compile( 规则 );
  2. 【强制】 velocity 调用 POJO 类的属性时,建议直接使用属性名取值即可,模板引擎会自动按
    规范调用 POJO 的 getXxx() ,如果是 boolean 基本数据类型变量 (boolean 命名不需要加 is
    前缀 ) ,会自动调用 isXxx() 方法。
    说明:注意如果是 Boolean 包装类对象,优先调用 getXxx() 的方法。
  3. 【强制】后台输送给页面的变量必须加 $!{var} ——中间的感叹号。
    说明:如果 var = null 或者不存在,那么 ${var} 会直接显示在页面上。
  4. 【强制】注意 Math . random() 这个方法返回是 double 类型,注意取值的范围 0≤ x <1 ( 能够
    取到零值,注意除零异常 ) ,如果想获取整数类型的随机数,不要将 x 放大 10 的若干倍然后
    取整,直接使用 Random 对象的 nextInt 或者 nextLong 方法。


《阿里巴巴Java开发手册》1-8之注释规约

编程规约 - 注释规约

  1. 【强制】类、类属性、类方法的注释必须使用 Javadoc 规范,使用/*内容/格式,不得使用
    // xxx 方式。
    说明:在 IDE 编辑窗口中, Javadoc 方式会提示相关注释,生成 Javadoc 可以正确输出相应注
    释 ; 在 IDE 中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高
    阅读效率。

  2. 【强制】所有的抽象方法 ( 包括接口中的方法 ) 必须要用 Javadoc 注释、除了返回值、参数、
    异常说明外,还必须指出该方法做什么事情,实现什么功能。
    说明:对子类的实现要求,或者调用注意事项,请一并说明。

  3. 【强制】所有的类都必须添加创建者信息。



本站访问量   |   您是第 位.