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工作来解决
java代码评审内容的更多相关文章
- Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)
<bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil& ...
- 大数据之路week07--day01(HDFS学习,Java代码操作HDFS,将HDFS文件内容存入到Mysql)
一.HDFS概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 ...
- IDEA工具java开发之 常用插件 git插件 追加提交 Code Review==代码评审插件 撤销提交 撤销提交 关联远程仓库 设置git 本地操作
◆git 插件 请先安装git for windows ,git客户端工具 平时开发中,git的使用都是用可视化界面,git命令需要不时复习,以备不时之需 1.环境准备 (1)设置git (2)本地操 ...
- [刘阳Java]_纯CSS代码实现内容过滤效果
继续我们技术专题课,我们今天给大家带来的是一个比较酷炫的"纯CSS代码实现内容过滤效果",没有加入任何JS的效果.全部都是应用CSS3的新增选择器来实现的.先看效果截图 实现思路 ...
- 转!!Java代码规范、格式化和checkstyle检查配置文档
为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...
- 敏捷开发中高质量 Java 代码开发实践
Java 项目开发过程中,由于开发人员的经验.代码风格各不相同,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入 和周期等问题. 这些问题在一个项目组初建.需 ...
- Java代码规范、格式化和checkstyle检查配置文档
http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...
- 您的 Java 代码安全吗 — 还是暴露在外? 【转】
在开发 Java Web 应用程序时,您需要确保应用程序拥有完善的安全性特征补充.这里在谈到 Java 安全性时,我们并不谈及 Java 语言提供的安全性 API,也不涉及使用 Java 代码来保护应 ...
- Java静态检测工具/Java代码规范和质量检查简单介绍(转)
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...
随机推荐
- 传送带(bzoj 1857)
Description 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度 ...
- 洛谷 [P3623] 免费道路
有 k 条特殊边的生成树 我们发现有一些边是必须的,如果把所有的水泥路都加入并查集,再枚举鹅卵石路,如果这条路能再次加入并查集,说明这条路是必须的 水泥路同样 这样就把必需边求出来了,剩下就可以随意加 ...
- Java数据结构-------List
三种List:ArrayList,Vector,LinkedList 类继承关系图 ArrayList和Vector通过数组实现,几乎使用了相同的算法:区别是ArrayList不是线程安全的,Vect ...
- VijosP1303 导弹拦截
背景 实中编程者联盟为了培养技术精湛的后备人才,必须从基础题开始训练. 描述 某国为了防御敌国的导弹袭击,研发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度, ...
- Shell中的单引号(‘)双引号(”)和反引号(·)
在bash中,$.*.?.[.].’.”.`.\.有特殊的含义.类似于编译器的预编译过程,bash在扫描命令行的过程中,会在文本层次上,优先解释所有的特殊字符,之后对转换完成的新命令行,进行内核的系统 ...
- 解决Manjaro linux的中文输入
系统安装完成后, 首先:安装中文输入法:pacman -S fcitx fcitx-libpinyin kcm-fcitx 接着:修改.xprofile 添加内容如下: export GTK2_RC_ ...
- 前端优化之Combo Handler
Combo Handler来合并CSS/JS文件 背景 Combo Handler是Yahoo!开发的一个Apache模块,它实现了开发人员简单方便地通过URL来合并JavaScript和CSS文件, ...
- 学习和家庭教育 z
大家好,我是王宁. 今天能站在这里,纯属偶然. 为什么说偶然呢? 因为,南雅是个人才济济的地方,164班是一个优秀的集体. 个人认为,班级前二十几名的同学,时机适宜,谁考班上第一名都有可能. 妈妈对我 ...
- LAN、WAN、WLAN的区别
听语音 浏览:22034 | 更新:2015-06-22 20:10 | 标签:网线 1 2 3 4 5 6 7 分步阅读 好多朋友在群内问我路由器如何配置,本来还耐心解答,但是他竟然连LAN.WAN ...
- 11G在用EXP导出时,空表不能导出
11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segmen ...