java代码评审内容

评审内容

u 工具检查

□  Eclipse警告

□  FindBug

□  CheckStyle

□  Jupiter

□  Subclipse 或者Subversive

u 代码注释内容(详细参考《代码注释规范》)

□  类注释内容

□  接口注释内容

□  方法注释内容

□  方法内部注释内容

u 业务逻辑

□  业务逻辑实现的正确性

□  业务逻辑实现的完整性

u 代码细节

u 异常处理

□  接口方法声明需要抛出BusinessException

□  接口实现类最外层需要强制try….catch,对Exception进行marsh BusinessException包装

□  禁止出现try….catch后,没有对异常做任何处理的情况

□  在EJB边界对所有的异常进行marsh BusinessException包装

□  后台所有方法不再显示的进行异常的抛出声明,如有异常用wrappBusinessException包装成运行时异常直接抛出

□  前台代码直接抛出后台传递过来的异常

□  前台代码主动抛异常时,需要使用ExceptionUtils.wrappBusinessException;

□  前后台异常处理类统一使用nc.vo.pubapp.pattern.exception.ExceptionUtils

□  未用异常作为业务流程转换的判断

u 效率

□  接口的定义使用参数数组来进行批量调用,而不是循环调用非批量接口

□  方法内部禁止出现循环执行相似重复的SQL语句

□  尽量使用绑定变量的sql

□  sql关联的表不超过3个

□  sql不采用外连接

u 内存

□  UFDobule常量必须使用UFDouble.ZERO, UFDouble.ONE

□  UFBoolean常量必须用UFBoolean.TRUE, UFBoolean.FALSE

□  UFBoolean的值必须采用UFBoolean.valueof(true|false|y|n|Y|N),的形式进行构造

u 其他

□  临时表命名方式为:TEMP_(模块名称)_(具体作用) 例如:temp_gl_assid   temp_fa_depdata

□  常量要使用NC枚举类

□  加锁应用统一的工具类,一定先加锁再查询

□  代码中访问数据库都用相应的VO类,禁止直接使用JDBC

□  面向接口编程

□  方法入口处不能对传入参数进行容错处理

□  VO的get/set方法中不能包含业务逻辑

□  VO中不能有业务方法,也不能有数据校验方法

□  避免全局变量

注:代码评审不负责检查功能、逻辑是否正确,这些要靠单元测试和QA工作来解决

原文地址:https://www.cnblogs.com/nizuimeiabc1/p/5886441.html