1.1Code Review的目的
1.2Code Review的前提
1.3.Code Review需要做什么

1.3.1完整性检查(Completeness)
1.3.2一致性检查(Consistency)
1.3.3正确性检查(Correctness)
1.3.4可预测性检查(Predictability)
1.3.5健壮性检查(Robustness)
1.3.6结构性检查(Structuredness)
1.3.7可追溯性检查(Traceability)
1.3.8可理解性检查(Understandability)
1.3.9可验证性检查(Verifiability)
2.Code Review检查列表
2.1JAVA编码规范方面检查项
2.2面向对象设计方面检查项
2.3性能方面检查项
2.4资源泄漏处理方面检查项
2.5线程安全方面检查项
2.6程序流程方面检查项
2.7数据库处理方面
2.8通讯方面检查项
2.9JAVA对象处理方面检查项
2.10异常处理方面检查项
2.11方法(函数)方面检查项
2.12安全方面检查项
------获取方式:转发获取原件------
1.3.1完整性检查(Completeness)
Ø 代码是否完全实现了设计文档中提出的功能需求
Ø 代码是否已按照设计文档进行了集成和Debug
Ø 代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型
1.3.2一致性检查(Consistency)Ø 代码的逻辑是否符合设计文档
Ø 代码中使用的格式、符号、结构等风格是否保持一致
1.3.3正确性检查(Correctness)Ø 代码是否符合制定的标准
Ø 所有的变量都被正确定义和使用
Ø 所有的注释都是准确的
Ø 所有的程序调用都使用了正确的参数个数
1.3.4可预测性检查(Predictability)Ø 代码所用的开发语言是否具有定义良好的语法和语义
Ø 是否代码避免了依赖于开发语言缺省提供的功能
Ø 代码是否无意中陷入了死循环
Ø 代码是否是否避免了无穷递归
1.3.5健壮性检查(Robustness)代码是否采取措施避免运行时错误(如数组边界溢出、被零除、值越界、堆栈溢出等)
1.3.6结构性检查(Structuredness)Ø 程序的每个功能是否都作为一个可辩识的代码块存在
Ø 循环是否只有一个入口
1.3.7可追溯性检查(Traceability)代码是否包括一个修订历史记录,记录中对代码的修改和原因都有记录
1.3.8可理解性检查(Understandability)Ø 注释是否足够清晰的描述每个子程序
Ø 是否使用到不明确或不必要的复杂代码,它们是否被清楚的注释
Ø 使用一些统一的格式化技巧(如缩进、空白等)用来增强代码的清晰度
Ø 是否在定义命名规则时采用了便于记忆,反映类型等方法
Ø 每个变量都定义了合法的取值范围
Ø 代码中的算法是否符合开发文档中描述的数学模型
1.3.9可验证性检查(Verifiability)代码中的实现技术是否便于测试