java开发规范指南

命名规范

  • 方法名、参数名、成员变量、局部变量统一采用lowerCamel,必须遵从驼峰形式

错误

praivate String NameToName;

正确

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

错误

private static final BigDecimal divide;
private static final BigDecimal APPLYORDERCODE;

正确

private static final BigDecimal DIVIDE;
private static final BigDecimal APPLY_ORDER_CODE;
  • 类名采用UpperCamel风格,必须遵从驼峰形式,但是一下情形例外:(领域模型的相关命名)DO/BO/DTO/VO/DAO。

注释规范

  • 所有的类都需要加上创建者信息,且类、类熟悉、类方法的注释必须使用javadoc规范,使用/**内容*/格式,不得使用//XXX或者/*XXXX*/方式

语法规范

  • 在if/else/for/while/do语句中必须使用大括号,即使只有一行代码,避免使用下面想的形式:if(condition) statements;

  • 所有的包装类对象之间值的比较,全部使用equals方法比较

  • 所有覆写方法,必须加@Override注解

  • Object的equals方法容易抛出空指针异常,应使用常量或确认有值的对象调用equals

  • 不能使用过时的类或者方法

  • 在一个switch块内,每个case要么通过break/return等来终止,要么注释说明程序将继续执行到哪一个case为止;在一个swith块内,都必须包含一个defaulti语句并且放在最后,即使它什么都没有

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

错误

if(p.getProductBusinessType() != 2){
     return false;
}

正确

if(p.getProductBusinessType() != COMMENT.TWO){
     return false;
}
  • 中括号是数组类型的一部分,数组定义如下: String[ ] args ,避免String args[ ]

  • 事务场景中,抛出异常被catch后,如果需要回滚,一定要手动回滚事务。需设置rollbackFor属性

错误

@Service
@Transactional
public class ProductInfoRiskCompensationService {
    ......
}

正确

@Service
@Transactional(rollbackFor=Exception.class)
public class ProductInfoRiskCompensationService   {
    ......
}
  • 单个方法的总行数不能超过80行,应将复杂的逻辑部分抽取出来

  • 除常用方法(如getXxx/isXxx)等外,不要在条件判断中执行复杂的语句,将复杂逻辑的结果赋值给一个有意义的布尔变量,以提高代码可读性

  • 集合初始化时,尽量指定集合初始值大小

错误

Map<Integer, T> map = new HashMap<>();

正确

Map<Integer, T> map = new HashMap<>(COMMENT.TEN);

待更新。。。。

Alibaba Java Coding Guidelines 扫描不规范代码的插件

你可能感兴趣的:(java,开发语言)