最近想利用空余时间做Code Review的相关事情,所以简单的整理了一下互联网上的文章。大家有兴趣的话,可以回复我,或者直接跟帖,我会尽量把大家的意见在我的新版Code Review中体现。
Code Review:代码审查是系统的计算机源代码的检查(通常被称为同行评审)[1]。
代码Manage工具:
Svn: Svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
Cvs: CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。
Git: Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。[2]
Git 是 Linus Torvalds为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Mercurial: Mercurial是一种快速,易于使用的,分布式版本控制工具,为软件开发人员[3]。
代码review 工具:
1. Review board (http://www.review-board.org/)是一个基于web的工具。可以帮助我们追踪待决代码的改动,并可以让Code-Review更为容易和简练。尽管Review board 最初被设计在VMware项目中使用,但现在其足够地通用。当前,其支持这些代码版本管理软件:SVN,CVS,Perforce,Git,Bazaar,和Mercurial.
2. Rietveld (http://code.google.com/p/rietveld/)由Guido van Rossum开发(他是Python的创造者,现在是Google的员工)。当前,任何一个使用 Google Code的项目都可以使用 Rietveld。
3. CodeStriker (http://codestriker.sourceforge.net/)是一个基于Web的应用,其主要使用 GCI-Perl脚本支持在线的代码审查。Codestriker可以集成于CVS,Subversion,ClearCase,Perforce和Visual SourceSafe。并有一些插件可以提供支持其它的源码管理工具。
4. Groogle (http://groogle.sourceforge.net/)是一个基于WEB的代码评审工具。Groogle支持和Subversion集成。它主要提供如下的功能:
1) 各式各样语言的语法高亮。
2) 支持整个版本树的比较。
3) 支持当个文件不同版本的diff功能,并有一个图形的版本树。
4) 邮件通知所有的Reivew的人当前的状态。
5) 认证机制。
5. Gerrit (http://code.google.com/p/gerrit/)官方网站的介绍:Web based code review and projectmanagement for Git based projects. 由此可见,Gerrit与Git是绝配!如果你使用的是git版本控制系统,推荐你使用Gerrit。Gerrit is a web based code review system,facilitating online code reviews for projects using the Git version controlsystem. Gerrit makes code reviews easier by showing changes in a side-by-sidedisplay, and allowing inline comments to be added by any reviewer.
6. JCR – Java Code Reviewer (http://jcodereview.sourceforge.net/ )是一个基于Python的Web应用。他可用于Review的任何类型的源代码,虽然它有一些特殊的智能审查的Java项目。它具有特殊的功能,使大型的评论不仅实用,而且方便,快捷。JCR主要面对的是大型的项目,或是非常正式的代码评审,从这方面看来,他并不像上面的那些工具。JCR主要想协助:
1) 审查者。所有的代码更改都会被高亮,以及大多数语言的语法高亮。Code extracts可以显示代码评审意见。如果你正在Review Java的代码,你可以点击代码中的类名来查看相关的类的声明。
2) 项目所有者。可以轻松创建并配置需要Review的项目,并不需要集成任何的软件配置管理系统(SCM)。
3) 流程信仰者。所有的评语都会被记录在数据库中,并且会有状态报告,以及各种各样的统计。
4) 架构师和开发者。这个系统也可以让我们查看属于单个文件的评语,这样有利于我们重构代码
7. Jupiter (http://code.google.com/p/jupiter-eclipse-plugin)是一个代码审查工具的Eclipse IDE插件。
他山之石: