[他山之石]赖勇浩的强制Code Review实践

Posted on Thu 05 January 2012 in it

Code Review的好处

  1. 代码风格可控,代码质量有一定提升;
  2. 新员工入职后能够得到更多人的指导,成长非常快;
  3. 小 bug 频出的情况比之前的项目少了至少一个数量级。

Code Review的流程

  1. 使用 reviewboard 作为工具,通过 SVN hooks 强制每一次签入都是经过 review 的;
  2. 至少要有 2 个团队成员 ship it,才能够签入;
  3. ship it 的成员中,至少有一个是资深的团队成员。

Code Review的详细步骤

  1. 团队成员在提交代码之前,需要先使用 post-review 工具在 reviewboard 上创建一个 review request。一个配置良好的 reviewboard 能够自动发送邮件给所有成员;
  2. 收到邮件通知后大家抽空去 review 代码,而 review 结果也会通过邮件知会给大家,所以发起 review 的同事能够即时了解到 review request 的状态;
  3. 当收集到足够多的 ship it 时,发起者就能够向 SVN 提交变更了;

注意事项:要在 log message 里写上符合正则表达式 r'review:([0-9]+)' 的信息,比如 review:199 表示这次提交的变更对应 ID 为 199 的 review request,当 strict_review 这个 hook 检测到 review request 199 符合预设的条件后,就会放行让变更进入仓库。

Code Review的系统支持

  1. 安装reviewboard:http://www.reviewboard.org/
  2. 安装和配置reviewboard-svn-hooks
  3. 配置SVN hooks

http://code.google.com/p/reviewboard-svn-hooks/issues/list