开源
-
Facebook的Phabricator
- Completely open-sourced, startup tested, and enterprise scalable. Phabricator contains no special editions or user limitations. It's completely free, and always will be. Download Phabricator now and install on your own local hardware.
- 可以捆绑unit
test和以及格式检查和规范的工具(e.g. JSLint), 然后用户在上传diff的时候, phab会自动用新版本的代码去跑unit tests,以及运行JSLint, 然后在code review里面就可以看到unit tests有几个failure和error,以及JSLint的报警信息. 对于Gerrit, 不知道能否类似配置一下. - Phabricator将所有文件的比较直接展开,然后放在一起,方便人阅读
- Gerrit上面只能看到版本做的修改,而无法直接展开整个文件(除非下载)
- Phabricator有个命令行工具Arcanist。
- Arcanists provides command-line access to many Phabricator tools (like Differential, Files, and Paste), integrates with static analysis ("lint") and unit tests, and manages common workflows like getting changes into Differential for review.
-
Google的Gerrit
商业
17款最佳的代码审查工具
如何进行代码审查
基本功能
- Crate reviews
- Assign reviewers
- Inline discussions
- Pre-commit reviews/Post-commit reviews
- Accept or Reject
- Track
- Report
Pre-Commit的工作流
- 甲在本地修改了代码,要提交到服务器,需要先提交代码走读才能提交
- 甲使用arc diff将修改提交到Phabricator,并设置代码走读人,订阅人,注释,修订什么任务等等信息
- 代码走读的人会收到邮件通知,都修改的代码进行走读
- 代码走读人可以注释,拒绝,接受本次差异
- 甲修改代码再次使用arc diff提交审核
- 代码走读人再次审核代码
- 所有审核人接受之后甲使用arc commit提交代码'