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工作来解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?