代码评审(Code Review)
2014-06-04 00:00
246 查看
摘要: 代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。代码评审不负责检查功能、逻辑是否正确,这些要靠单元测试和QA工作来解决。
一、目的和意义
1. 提高代码质量,加深对系统的理解。
2. 在项目的早期发现缺陷,将损失降至最低。
3. 促进团队沟通、知识共享、共同提高。
二、具体检查点
1. 完整性检查
代码是否完全实现了设计文档中提出的功能需求 (功能列表,逐条check)
代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型 (IDE严格编译,去警告)
2. 一致性检查
代码的逻辑是否符合设计文档
代码中使用的格式、符号、结构等风格是否保持一致
3. 正确性检查
代码是否符合制定的标准
所有的变量都被正确定义和使用
所有的注释都是必要和准确的
4. 可修改性检查
代码涉及到的常量是否易于修改 ( 如使用配置、定义为类常量、使用专门的常量类等 )
5. 可预测性检查
代码是否具有定义良好的语法和语义
代码是否无意中陷入了死循环
代码是否是否避免了无穷递归
内存泄漏检查( Valgrind )
6. 健壮性检查
代码是否采取措施避免运行时错误(空指针异常等)
7. 可理解性检查
注释是否足够清晰的描述每个子程序 ,对于没用的代码注释是否删除
是否使用到不明确或不必要的复杂代码,它们是否被清楚的注释
使用一些统一的格式化技巧(如缩进、空白等)用来增强代码的清晰度
是否在定义命名规则时采用了便于记忆,反映类型等方法
循环嵌套是否太长太深?
8.可验证性检查
代码中的实现技术是否便于测试
参考:http://www.cnblogs.com/gxch/articles/2090157.html
三、 准备工作
1. 端正态度,自我审查。
2. 架构师提供开发规范、指南,为代码评审提供依据。
3. 提供样例代码库作参照,以提高代码评审的可操作性。
4. 问题跟踪,前后比对。
四、 检视方法
触发式检视
分类专项检视
交叉检视
每日新合入检视
版本差异检视
其他检视方法
参考:http://www.baidu.com/link?url=caX79PZevOgG6wqK-QWL1AmicSCq55kzB1yfCa5mFjURw--1r0-GfkZnzSFBQj9os9Fa9DHn6VeclwOD2nvwA0t6qP2_xsMmyLc0zpnF2ba&wd=%E4%BB%A3%E7%A0%81review&tn=baidu&ie=utf-8&inputT=2035
一、目的和意义
1. 提高代码质量,加深对系统的理解。
2. 在项目的早期发现缺陷,将损失降至最低。
3. 促进团队沟通、知识共享、共同提高。
二、具体检查点
1. 完整性检查
代码是否完全实现了设计文档中提出的功能需求 (功能列表,逐条check)
代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型 (IDE严格编译,去警告)
2. 一致性检查
代码的逻辑是否符合设计文档
代码中使用的格式、符号、结构等风格是否保持一致
3. 正确性检查
代码是否符合制定的标准
所有的变量都被正确定义和使用
所有的注释都是必要和准确的
4. 可修改性检查
代码涉及到的常量是否易于修改 ( 如使用配置、定义为类常量、使用专门的常量类等 )
5. 可预测性检查
代码是否具有定义良好的语法和语义
代码是否无意中陷入了死循环
代码是否是否避免了无穷递归
内存泄漏检查( Valgrind )
6. 健壮性检查
代码是否采取措施避免运行时错误(空指针异常等)
7. 可理解性检查
注释是否足够清晰的描述每个子程序 ,对于没用的代码注释是否删除
是否使用到不明确或不必要的复杂代码,它们是否被清楚的注释
使用一些统一的格式化技巧(如缩进、空白等)用来增强代码的清晰度
是否在定义命名规则时采用了便于记忆,反映类型等方法
循环嵌套是否太长太深?
8.可验证性检查
代码中的实现技术是否便于测试
参考:http://www.cnblogs.com/gxch/articles/2090157.html
三、 准备工作
1. 端正态度,自我审查。
2. 架构师提供开发规范、指南,为代码评审提供依据。
3. 提供样例代码库作参照,以提高代码评审的可操作性。
4. 问题跟踪,前后比对。
四、 检视方法
触发式检视
分类专项检视
交叉检视
每日新合入检视
版本差异检视
其他检视方法
参考:http://www.baidu.com/link?url=caX79PZevOgG6wqK-QWL1AmicSCq55kzB1yfCa5mFjURw--1r0-GfkZnzSFBQj9os9Fa9DHn6VeclwOD2nvwA0t6qP2_xsMmyLc0zpnF2ba&wd=%E4%BB%A3%E7%A0%81review&tn=baidu&ie=utf-8&inputT=2035
相关文章推荐
- C++代码评审(Code Review)等级标准
- C++代码评审(Code Review)等级标准
- 代码评审(Code Review)
- 代码评审(Code Review)
- 代码评审code review - gerrit安装部署
- 项目管理系列--好用的代码评审(Code Review)工具
- C++代码评审(Code Review)等级标准
- Keywords : Code Review、Jupiter、ReviewClipse、代码评审、代码审查
- 如何做代码评审Code Review
- C++代码评审(Code Review)等级标准
- 15个最佳的代码评审(Code Review)工具
- 代码检测:Code Review与CheckStyle
- 代码评审的最佳实践
- 代码评审的最佳实践
- 在 Rational Application Developer V7.0 中使用代码复查 (Code Review) 的静态分析特性
- 代码评审的最佳实践
- 代码评审的最佳实践
- 代码评审的最佳实践
- 代码评审的最佳实践
- 代码评审的最佳实践