[他山之石]赖勇浩的强制Code Review实践
Posted on Thu 05 January 2012 in it
Code Review的好处
- 代码风格可控,代码质量有一定提升;
- 新员工入职后能够得到更多人的指导,成长非常快;
- 小 bug 频出的情况比之前的项目少了至少一个数量级。
Code Review的流程
- 使用 reviewboard 作为工具,通过 SVN hooks 强制每一次签入都是经过 review 的;
- 至少要有 2 个团队成员 ship it,才能够签入;
- ship it 的成员中,至少有一个是资深的团队成员。
Code Review的详细步骤
- 团队成员在提交代码之前,需要先使用 post-review 工具在 reviewboard 上创建一个 review request。一个配置良好的 reviewboard 能够自动发送邮件给所有成员;
- 收到邮件通知后大家抽空去 review 代码,而 review 结果也会通过邮件知会给大家,所以发起 review 的同事能够即时了解到 review request 的状态;
- 当收集到足够多的 ship it 时,发起者就能够向 SVN 提交变更了;
注意事项:要在 log message 里写上符合正则表达式 r'review:([0-9]+)' 的信息,比如 review:199 表示这次提交的变更对应 ID 为 199 的 review request,当 strict_review 这个 hook 检测到 review request 199 符合预设的条件后,就会放行让变更进入仓库。
Code Review的系统支持
- 安装reviewboard:http://www.reviewboard.org/
- 安装和配置reviewboard-svn-hooks
- 配置SVN hooks
http://code.google.com/p/reviewboard-svn-hooks/issues/list