Code Review学习:目标和内容

Posted on Sat 07 January 2012 in it

Code Review的目的和内容

检查设计是否合理

Code Review需要承担一部分“结对设计”和“设计把关”的职责 内容包括:

  1. 设计是否合理:如实现方法,数据结构,设计模式,扩展性考虑等
  2. 否存在大量重复代码和其他组件是否有重复的代码
  3. 结构设计是否合理

互为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/