Code Review学习:目标和内容
Posted on Sat 07 January 2012 in it
Code Review的目的和内容
检查设计是否合理
Code Review需要承担一部分“结对设计”和“设计把关”的职责 内容包括:
- 设计是否合理:如实现方法,数据结构,设计模式,扩展性考虑等
- 否存在大量重复代码和其他组件是否有重复的代码
- 结构设计是否合理
互为Backup
Code Review 中,Review 的开发人员了解代码的设计和实现,传递了技术,开发人员互为Backup,方便后期的维护,也减少了项目风险。分享知识、设计、技术
Code Review是一个学习和享受的过程,一个开发人员的能力有限,而Code Review正是这样的一种机制,让好的知识、设计在团队中分享,实现整体团队的成长和整体的效益最大化。
提高代码可读性
代码的要求不止是能运行功能正确的代码,而是有了更高的要求,即Code for maintenance。 可维护的代码,需要清晰,可读性强,这里可读性代码检查不是指代码格式(代码格式可以通过工具检查出),而是指代码语义。
发现代码里的“坑”
代码中的逻辑,除了业务逻辑,还应该包括技术逻辑。技术逻辑就是实现逻辑, 比如数据库连接打开是否忘记关闭,是否正确使用线程,Exception 处理,密码是否加密存储等。 这些最常出现错误的地方,并且是测试不容易发现的地方,就是代码里的“坑”。
建议在整个团队中维护并共享“坑”的注意事项列表,以及统一的处理方式和机制。并在编码和Code Review过程中都按照团队的最佳实践进行。
不推荐的Code Review的目的和内容
发现代码中的业务逻辑错误
发现逻辑错误,不应该是Code Review 的目的和内容。应该是Unit Test,功能测试,集成测试的目的。从投入产出比考虑,不应该花费太多时间在Code Review 阶段去进行逻辑错误检查。
发现性能问题
性能问题是需要量化的衡量和精确定位, 很难通过Code Review检查出来
去发现本来可以用工具就能发现问题
例如国际化、代码格式等
Reference
- 敏捷开发中的Code Review http://www.programmer.com.cn/1310/