CSI_0_中软国际Java项目开发代码Review常见问题实例分析及指南.doc
文本预览下载声明
项目管理体系文件
中软国际Java项目开发
代码Review常见问题
实例分析及指南
编 撰 人:TMO
审 核 人:
批 准 人:
批准日期:2010-9-1
保密级别:机密
文档版本:0.0.1
北京中软国际信息技术有限公司版本历史
日期 版本 说明 作者 目录
第一章 综述 5
第二章 常见问题分类及实例分析 5
2.1 开发规范类 5
2.1.1 命名规范 5
2.1.2 代码格式 8
2.2 性能影响及系统稳定性相关 11
2.2.1 Java操作数据库 11
2.2.2 数据库SQL开发注意事项 15
2.2.3 数据库存储过程编写 18
2.2.4 Java编程方面 20
2.3 编程易错误区及系统健壮性 22
2.3.1 空指针错误的引发 22
2.3.2 格式化数字错误 23
2.3.3 字符串越界错误 23
2.3.4 没有克隆(clone)返回的对象 23
2.3.5 不必要的克隆 25
2.3.6 自编代码来拷贝数组 26
2.3.7 拷贝错误的数据 27
2.3.8 检查new 操作的结果是否为null 29
2.3.9 用== 替代.equals 29
2.3.10 混淆原子操作和非原子操作 30
2.3.11 在catch 块中作清除工作 31
2.3.12 增加不必要的catch 块 32
2.3.13 没有正确实现equals,hashCode,或者clone 等方法 32
2.4 Java编程不良习惯 33
2.4.1 Servlet中获取数据库连接问题 33
2.4.2 对于Exception的处理 33
2.4.3 有关常量的使用 34
2.4.4 静态变量的使用 34
2.4.5 未使用的变量 34
2.4.6 过于庞大的try块 34
2.4.7 最好不要让系统自己进行类型转换 37
2.5 ResourceOne开发框架使用问题 37
2.5.1 在普通JavaClass中获得数据库连接 37
2.5.2 Servlet中使用SearchDAO 38
2.5.3 程序调试信息 38
2.5.4 超长类名:使用R1Studio生成数据访问类的问题 38
2.5.5 代码中直接使用JDBC进行数据库操作 39
2.5.6 代码的分包问题 39
2.5.7 使用DAO操作时直接在Servlet里进行操作 40
2.6 业务逻辑问题 40
2.6.1 程序逻辑错误 40
综述
基础技术资源开发与管理部在颁布《六统一管理代码review办法》中,从管理的角度对中软国际所有的软件开发项目的程序代码review作了相关的要求,并且推行Jupiter这样的CodeReview协同管理工具来辅助促进和跟踪review的状态和结果。
CodeReview的基本手段还是需要技术经理通过人工检查项目成员的代码,来将各种问题扼杀在开发阶段,但是不同经验及技术水平的经理在review同一段代码所发现的问题可能相差比较大,不同的Team可能因此产生的效果也不同。本文从实际项目中抽取了一些项目中常见的Java开发所涉及的问题,进行实例分析,为各技术经理提供靶子和借鉴参考,如果审查者能够有意识地寻找特定的错误,而不是靠漫无目的的浏览代码来发现错误,那么代码审查的效果会事半功倍(不允许用汉语拼音),如: firstNamezipCode
用复数命名collection类变量ollection包括数组,vector等。命名时使用复数: customers classmates
方法名
方法的名字必须用一个小写字母开头。后面的单词用大写字母开头。
方法的名字要与该方法的用途相关。
参数名
参数的命名 :参数的名字必须和变量的命名规范一致。
方法的参数 :使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字。
增删改程序和页面的调用关系和文件名
AddOrderServer, SaveOrderServer, DeleteOrderServlet不需要页面,其他有JSP页面的Servlet要与JSP文件名相对应。OrderDetailServet对应两个JSP文件,EditOrder用于可编辑状态,ShowOrder用于不可编辑状态。
AddOrderServlet和SaveOrderServlet的返回页面可以是List页面,也可以是Detail页面,如果当前人已完成所有可进行的操作,则回到List页面,如果未完
显示全部