- 浏览: 255507 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
svygh123:
写的很好,给Eclipse转IDEA的同学莫大的帮助
Eclipse和Intellij Idea的常用快捷键 -
心为形役1991:
3Q,收了
JBoss EAP 6与Apache通信的mod_jk配置 -
tonytony3:
你妹的,太好了
Eclipse和Intellij Idea的常用快捷键 -
obullxl:
干得漂亮!
Eclipse和Intellij Idea的常用快捷键 -
hugh.wang:
太感谢了!!用idea正愁快捷键不熟
Eclipse和Intellij Idea的常用快捷键
本文简要描述了Review Board 、 Jupiter 、 JCR 、 Codestriker 、 Rietveld 几种开源代码评审工具的功能特点,并介绍了在 windows 下的安装步骤。 如您想使用 Web 方式进行代码评审,推荐安装 Review Board ,如您想在 Eclipse 中进行代码评审请安装 Jupiter 。
一、Review Board
Review Board 是基于Web 的Code Review 工具。适用于不同规模的项目,支持 pre-commit 和 post-commit 两种 Review 方式,可查看对比代码的多次评审、修改情况, 并提供了多种工具,是当前最活跃的Code Review 项目。
官方主页: http://www.reviewboard.org/
当前版本:1.6.4.1(2012-02-28)
RBTools 当前版本:0.4.1(2012-02-29)
支持的SCM :Bazaar 、CVS 、ClearCase 、Git 、Mercurial 、Perforce 、Plastic SCM 、Subversion
支持的数据库:MySQL v5.0.31 或更新、PostgreSQL 、sqlite v3
支持的Web Server :Apache + mod_wsgi 或 mod_python 或 fastcgi ,lighttpd + fastcgi
依赖软件:
Python 2.7 http://python.org/
Python Setuptools http://pypi.python.org/pypi/setuptools
GNU patch http://sourceforge.net/projects/gnuwin32/files/patch/
Memcached for Windows http://code.jellycan.com/memcached/
(Memcached 官方主页 http://memcached.org/ )
Python Imaging Library http://www.pythonware.com/products/pil/
PyCrypto http://files.cnblogs.com/brucenan/pycrypto-2.2.win32-py2.7.rar
Windows 下安装步骤
1 、 安装Python 、Setuptools
安装完毕后,增加C:\Python27 ;C:\Python27\Scripts 到Path 环境变量
2 、 安装GNU patch
安装完毕后,增加patch.exe 所在路径到 Path 环境变量
3 、 安装Memcached
Memcached 是一个高性能的缓存服务器。可选项,为提高服务器响应速度推荐安装。
1 )下载Memcached for Windows( http://code.jellycan.com/memcached/ )
2 )解压Memcached 到一个路径(如C:\memcached )
3 )从命令行安装memcached 服务
memcached.exe -d install
4 )启动memcached 服务
可从windows 服务管理器启动,也可运行如下命令启动服务:
memcached.exe -d start
( 注:可通过memcached.exe -h 查看其它命令参数)
5 )安装python-memcached
easy_install python-memcached
4 、 安装Python Imaging Library
5 、 安装PyCrypto
PyCrypto 提供 SSH repository 支持。
官网提供的PyCrypto 下载地址为: http://www.voidspace.org.uk/python/modules.shtml#pycrypto ,安装后启动Apache 出错,输出如下日志:
File "D:\\Python27\\lib\\site-packages\\django-1.3.1-py2.7.egg\\django\\core\\handlers\\wsgi.py", line 250, in __call__
self.load_middleware()
File "D:\\Python27\\lib\\site-packages\\django-1.3.1-py2.7.egg\\django\\core\\handlers\\base.py", line 47, in load_middleware
raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
ImproperlyConfigured: Error importing middleware reviewboard.admin.middleware: "DLL load failed: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3"
mod_wsgi (pid=4524): Exception occurred processing WSGI script 'D:/Server/reviewboard/htdocs/reviewboard.wsgi'.
google 后发现是PyCrypto 编译的包有问题,需要在windows 下重新编译。
幸好有网友将其编译的包共享了(开头列出的PyCrypto 地址),大家就不用再下一堆东东自己重新编译了,其博文地址为:
http://www.cnblogs.com/Leo_wl/archive/2012/02/29/2373709.html
6 、 安装Review Board
将自动下载和安装最新稳定版本的Review Board 及其依赖(Djblets 、Django-Evolution 、Django 、paramiko 、flup )
7 、 安装数据库绑定
MySQL
PostgreSQL
easy_install psycopg2
SQLite
easy_install pysqlite
注:如果使用Python2.5 或更高版本,已经包含SQLite ,不需要安装。
8 、 安装版本控制组件
以SVN 为例,需安装PySVN ,下载地址:
http://pysvn.tigris.org/servlets/ProjectDocumentList?folderID=1768
安装slik subversion http://www.sliksvn.com/en/download ( 使用 post-review 时,用到此 SVN 客户端工具 )
可安装TortoiseSVN( http://tortoisesvn.net/downloads.html ) 客户端工具,用来生成diff 文件。
淘宝开发的基于Eclipse 的Reviewboard 开源插件 Tao-ReviewBoard ,支持 svn ,更方便安装和使用。
Tao-ReviewBoard http://code.taobao.org/p/tao-reviewboard/wiki/index/
其它请参阅ReveiwBoard 安装文档。
9 、 安装Amazon S3 Support (可选)
Review Board 可以使用Amazon S3 来存储上传的screenshot 。Review Board 默认文件存储方法为“Host file system ”,将使用本地路径“media/uploaded ”来存储文件。在ReviewBoard 管理页面的File Storage Settings 中可设置存储方法。
Amazon S3 http://aws.amazon.com/s3/
10 、创建ReviewBoard 站点
运行如下命令:
rb-site install D:\reviewboard
说明:“D:\reviewboard” 为站点安装路径,要使用不存在的路径,rb-site 会自动创建。运行命令后,按提示输入各参数值。使用Apache 时推荐使用 mod_wsgi , fastcgi 有内存泄漏问题, mod_python Apache 已经不再开发(最后更新日期为 2003-07-09 )。推荐安装和使用 memcached ,将很大的提高 ReviewBoard 性能。
11 、配置Web Server
rb-site 在conf 路径下创建了Web Server 样例配置文件。
以Apache 为例,如果选用了mod_wsgi ,要先 安装mod_wsgi 模块, 下载地址为:
http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so
下载后将文件重命名为 mod_wsgi.so ,然后拷贝到 Apache modules 目录下,在 Apache\conf\httpd.conf 配置文件中添加: LoadModule wsgi_module modules/mod_wsgi.so 。
最后将 rb-site 生成的apache-wsgi.conf 的文件内容拷贝到httpd.conf 中 。
重启 Apache ,访问 http://localhost 。
12 、 安装 RBTools
运行如下命令安装 RBTools :
easy_install -U RBTools
安装 diffutils http://gnuwin32.sourceforge.net/packages/diffutils.htm
在目录$USERPROFILE\AppData\Roaming(Win7) 下,创建.reviewboardrc 文件,在其中添加如下内容:
REVIEWBOARD_URL = http://10.1.39.84
安装完毕后,就可以使用 post-review 命令了。如:
pre-commit review :
post-review (创建新的 Review 请求 ,并post 未提交的修改差异)
post-review -r 42 (更新存在的Review 请求)
post-review --revision-range=STARTREV:STOPREV
post-review --revision-range=REVISION
二、Jupiter
Jupiter 是Eclipse IDE 的一个开源Code Review 插件。以XML 格式存储数据,安装及使用都比较简单,它的文档内容也比较全面。
官方主页: http://code.google.com/p/jupiter-eclipse-plugin/
当前版本:3.6.0(2011-01) ,支持Eclipse3.3 及以上版本。
安 装:下载jar 包,拷贝到Eclipse plugins 目录即可。
三、JCR - Java Code Reviewer
JCR 是一个基于Python 的Web 应用,面向大型项目和非常正式的Code Review ,评审流程比较严格。可以用来Review 任何类型的代码,不仅是Java 代码,但一些特殊的功能只适用于Java 项目。
JCR 主要想协助:
审查者 - 所有的代码更改都会高亮显示,支持大多数语言的语法高亮。会显示出添加评语的代码块。如果Review Java 代码,可以点击代码中的类名来查看相关类的声明。
项目所有者 - 可以轻松创建并配置需要Review 的项目,支持( 但不需要) 集成SCM 。
流程信仰者 - 所有评语的细节都会记录在数据库中,包括每一个评语需要的动作及完成状态,并且会有状态报告,以及各种各样的统计。
架构师和开发者 - 可以查看所有Review 项目的细节,也可以查看特定文件的评语,有利于重构代码。
官方主页: http://jcodereview.sourceforge.net
当前版本:0.7.2.1(2010-04-13)
支持的SCM :SVN ,也支持上传文件的方式。
支持的数据库:PostgreSQL 8.x 、MySQL 5.x 、Sqlite 。
Web Server :JCR 使用Pylons 内建的Web Server ,不需要其他的Server 。
依赖的软件:
Python 2.4 或更新( 推荐2.5+) http://python.org/
Pysqlite(DB-API 2.0 interface for SQLite databases) http://code.google.com/p/pysqlite/
Setuptools http://pypi.python.org/pypi/setuptools
Pysvn http://pysvn.tigris.org/servlets/ProjectDocumentList?folderID=1768 (使用svn 时需安装)
注意:下载Pysqlite 、Setuptools 时,应选择与Python 一致的版本。
Windows 下安装步骤
本例使用SQLite 数据库,仅为体验JCR ,采用了最精简的安装方式。如正式使用推荐使用其它数据库,安装步骤请参阅JCR 安装文档。
JCR 使用了一些Linux/UNIX/GNU 工具 (tar 、gzip 、unzip 等) 来支持上传文件方式的Review 。因此在windows 下仅能使用svn 的方式,或者在windows 下安装Cygwin(http://cygwin.com/) ,它提供了GNU 工具。另外http://gnuwin32.sourceforge.net/ 提供了很多GNU 工具,不知是否能被利用,JCR 文档中没有提及。
1) 安装Python
2) 安装Setuptools
安装完后,增加“Python/Scripts ”到PATH 环境变量。
3) 安装Pysqlite
4) 安装JCR
解压JCR 压缩包到某一路径,如“D:\ jcr-0.7.2.1 ”,在命令行运行如下命令:
% cd D:\jcr-0.7.2.1
% easy_install -f . jcr
运行此命令后,将先安装一系列的依赖(Pylons 、Paster 、Sqlalchemy 、Authkit 等) ,然后安装JCR ,JCR 安装在“Python\Lib\site-packages ”路径下。
在windows 下,还需执行如下命令安装webob :
easy_install "WebOb==0.9.6.1"
5) 生成JCR 配置文件
% cd D:\jcr-0.7.2.1
% paster make-config jcr jcr.ini
执行此命令后,将在当前路径下生成配置文件jcr.ini 。使用Sqlite 数据库时,不需修改任何配置;使用其他数据库时,应修改database URL(sqlalchemy.url) 、base directory(jcr.base.dir) 、log file path (args )等。
6) 装配JCR
% cd D:\jcr-0.7.2.1
% paster setup-app jcr.ini
执行此命令后,将初始化JCR 数据库,并建立一个样例工程。
注意:在windows 下安装时将提示缺少GNU 工具,输入“y ”后,才能继续安装。
7) 启动JCR
% cd D:\jcr-0.7.2.1
% paster serve jcr.ini
执行完毕后,登录JCR : http://localhost:5000/ 。JCR 预设了三个用户,密码为“password0 ”。
admin – 管理员或超级用户。
johnd – 正常用户,是样例工程的拥有者。
wille – 正常用户。
如果要使用Subversion repository ,必须使用admin 用户,选择Maintenance/Repositories ,维护repository 信息。
四、Codestriker
Codestriker 是一个开源的、基于Web 的应用,支持在线Code Review ,支持常用的SCM 和数据库。Codestriker 用Perl 语言编写,可运行在所有的主流平台和浏览器下。安装后体验了一下,本人感觉其仅提供了比较基础的功能,使用也不大方便。
官方主页: http://codestriker.sourceforge.net/
当前版本:1.9.10(2009-11-02)
支持的SCM :CVS 、Subversion 、Perforce 、Visual Source Safe 、ClearCase 、Bugzilla 。
支持的数据库:MySQL 、PostgreSQL 、Oracle 、SQL Server 、Sqlite ,如要使用其它数据库需自己实现Perl DBI interface 。
支持的Web 服务器:Apache HTTP Server 、IIS 。
依赖的软件:
ActivePerl-5.8.8.822
注意:应使用ActivePerl5.8 ,可从网络搜索,ActivePerl 官方主页只提供了最新版本。
(ActivePerl 官方主页: http://www.activestate.com/activeperl/downloads )。
highlight-setup-3.5 http://www.andre-simon.de/ 用来高亮显示代码。
Windows 下安装步骤
1 ) 下载codestriker 压缩包并解压到某个路径,如“D:\codestriker-1.9.10 ”。
2 ) 建立codestriker 数据库
以MySQL 为例,在mysql 的提示符下输入下面的命令并执行:
CREATE DATABASE codestrikerdb CHARACTER SET utf8;
GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP,REFERENCES
ON codestrikerdb.* TO codestriker@localhost IDENTIFIED BY ‘cspasswd’;
FLUSH PRIVILEGES;
QUIT
注意:如未使用以上数据库名、用户名、密码,或使用了其他数据库,应修改codestriker 根目录下的配置文件codestriker.conf 。配置文件中提供了几种数据库配置示例。
3 ) 安装ActivePerl
安装完毕后,增加“C:\Perl\bin ”到 path 环境变量。
4 ) 安装highlight
安装完毕后,修改codestriker 配置中的$highlighter 项。
5 ) 运行install.pl
% cd D:\codestriker-1.9.10\bin
% install.pl
运行install.pl 后,将提示缺少的Perl modules 及安装方法。
需运行如下命令后,然后再次运行install.pl 。
ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd
ppm install http://theoryx5.uwinnipeg.ca/ppms/Template-Toolkit.ppd
install.pl 成功运行后将初始化codestriker 数据库。
install.pl 可多次运行,可用来升级codestriker ,或codestriker 安装位置变更后,用来更新配置。
6 ) 安装配置Apache HTTP Server
使用的Apache HTTP Server 的版本为2.0 ,为避免一些问题,安装路径不要有空格,安装完毕后需修改conf 中的配置文件httpd.conf ,并重启Apache 。
Codestriker 可运行在两种模式下CGI Script 、modPerl 。modPerl 模式性能更高。
CGI Script 配置
在apache 配置文件中增加如下配置,其中“D:/codestriker-1.9.10 ”为codestriker 安装位置。
ScriptAlias /codestriker/ "D:/codestriker-1.9.10/cgi-bin/"
Alias /codestrikerhtml/ "D:/codestriker-1.9.10/html/"
<Directory "D:/codestriker-1.9.10/cgi-bin/">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
SetHandler cgi-script
</Directory>
<Directory "D:/codestriker-1.9.10/html/">
AllowOverride None
Allow from all
</Directory>
modPerl 配置
先安装mod_perl ,命令如下(可到http://theoryx5.uwinnipeg.ca/ppms/ 查看mod_perl 对应的apache 版本):
ppm install http://theoryx5.uwinnipeg.ca/ppms/mod_perl-2.0.ppd
修改apache 配置文件,增加如下内容:
LoadFile "C:/Perl/bin/perl58.dll"
LoadModule perl_module modules/mod_perl.so
Alias /codestriker/ "D:/codestriker-1.9.10/cgi-bin/"
Alias /codestrikerhtml/ "D:/codestriker-1.9.10/html/"
<Directory "D:/codestriker-1.9.10/cgi-bin/">
SetHandler perl-script
PerlHandler ModPerl::Registry
Options +ExecCGI
</Directory>
<Directory "D:/codestriker-1.9.10/html/">
AllowOverride None
Allow from all
</Directory>
本人曾尝试使用Apache 2.2 ,在modPerl 模式下,不能访问网页。
7 ) 运行codestriker
重启Apache 后,在浏览器地址栏输入 http://localhost/codestriker/codestriker.pl 。
其它email 、scm 等配置请参阅codestriker 文档。
五、Rietveld
Rietveld 是基于Web 的Code Review 工具,作者为Python 之父Guido van Rossum ,是在Mondrian 工具基础上开发的。它使用了目前流行的web 开发框架Django ,支持Subversion 。现在,任何在 Google Code 上托管的项目都可以使用 Rietveld 以及 Python Subversion 服务器。可以从官网下载它的源码。
官方主页: http://code.google.com/p/rietveld/
中文文档: http://code.google.com/intl/zh-CN/appengine/articles/rietveld.html
依赖软件:Python 2.5+ (不支持Python 3 )
发表评论
-
TeamForge Wiki Syntax & CollabNet User Information Center
2015-03-26 13:52 2013the CollabNet user informatio ... -
利用svnsync实现SVN同步备份
2014-10-15 12:41 21631. 在备份SVN服务器上建立版本库 svnadm ... -
Eclipse和Intellij Idea的常用快捷键
2012-11-28 17:23 17976掌握快捷键能够大大提高开发效率。 ... -
PDF在线阅读
2012-11-28 16:11 1690一 、FlexPaper FlexP ... -
RCP学习笔记
2012-10-25 11:18 172309年学习Eclipse RCP 3.3时记录的一点东西。 ... -
关于软件版本号
2012-10-22 13:01 1131<major>.<minor>.< ...
相关推荐
总之,Code Review工具如Jupiter和Reviewclipse是现代软件开发不可或缺的一部分,它们为团队提供了一种有效提升代码质量和团队协作的方式。通过熟练运用这些工具,开发者可以更好地管理代码,降低缺陷率,提高软件...
Code Review的作用和意义已在很多技术团队内达成共识,可是很多时候并未被有效执行,甚至被认为是一项费时费力的工作。借助一些工具可以更容易,更有效率地来进行Code Review,本文介绍的Jupiter即是其中之一。 ...
文章中提到的CodeReview工具主要是指开源的代码审查工具,如ReviewBoard、Jupiter、JCR、Codestriker、Rietveld等,并介绍了其中几种工具在Windows系统上的安装步骤。 开源代码审查工具通常具有以下功能特点: 1. ...
**Source Insight CodeReview宏**是专门针对Source Insight这款强大的源代码查看和编辑工具设计的一套扩展功能,主要用于代码评审和统计。Source Insight以其强大的代码导航、语法高亮和实时分析能力,深受程序员...
Jupiter是一款开源的Eclipse插件,以XML形式存储review数据,通过SVN/CVS将review结果在团队内共享。一个很方便的功能是其建立了...备注:若之前安装过其他版本,请先删除之后,重启IDE,然后复制jar文件,再重启即可
CodeReview工具的作用:1.减少评审人的缺陷记录和汇总时间,方便责任人查找问题出处;2.检视完成后生成检查报告,代码作者点击按钮可以直接找到错误处;3.任务责任人修改完成后,直接修改问题状态,组织者按快捷键...
软件介绍: 一、软件特色 功能丰富:实现文件内容、度量、命名、注释、类图、Halstead等审查。 简单易用:无需安装,直接使用,直接删除;... 直观可视:分析结果与源代码在同一界面显示对照,...http://www.codereview.com.cn
在实际使用中,下载的压缩包文件"IntellijIDEA-CodeReview-Plugin-master"包含了插件的源代码,开发者可以对其进行定制或扩展以满足特定团队的需求。安装插件通常包括以下几个步骤: 1. 解压下载的压缩包。 2. 打开...
用户需要访问Redmine的插件目录,找到适用于当前Redmine版本的Code Review插件,然后按照官方文档的指示进行下载和安装。通常,这涉及到在Redmine的plugins目录下克隆或下载插件源码,接着运行数据库迁移命令,重启...
本文将深入探讨代码审查的概念、工具和最佳实践。 1. **代码审查的定义** 代码审查,也称为同行评审,是一种质量保证活动,开发人员在提交代码之前,让其他团队成员对其进行全面检查。这种审查不仅针对语法错误,...
`CodeReview.em`可能是一个包含了代码审查过程记录或结果的文件,而`codereivew.docx`可能是详细的代码审查报告,其中可能详细列出了审查过程中发现的问题、建议的修改以及后续的行动计划。通过这两个文件,团队成员...
### CodeReview中的常见代码问题分析 #### 一、引言 在软件开发过程中,CodeReview(代码审查)...通过持续的CodeReview和积极的技术交流,可以有效地提高团队的整体技术水平,从而打造出更加可靠和高效的应用程序。
Steven Code Review 2009.12M1发布包.rar 代码在线审查工具 @date: 2009-12-28 @author: YF @email: yifi@tom.com 功能: 1 方便学员学习教师的代码,无需在本机运行IDE即可以代码加亮的方式查看服务器共享的代码...
标题:Code Review Tool from Google 描述:Code review on the web 根据给定的文件信息,我们可以...以上内容揭示了代码审查在提高代码质量和团队协作中的关键作用,以及谷歌如何通过定制的工具和流程优化这一过程。
5. **工具支持**:许多版本控制系统(如Git)和项目管理工具(如GitHub、GitLab、Bitbucket)提供了内置的Code Review功能,方便团队进行代码审查。 6. **效果评估**:定期评估Code Review的效果,比如通过减少bug...
1. **CodeReview工具的作用**: - 代码审查工具的主要目标是帮助减少缺陷记录和汇总的时间,让责任人能快速定位问题。 - 工具可生成类似于PC-LINT检查的报告,便于点击直接定位错误位置。 - 支持任务责任人修改...
Gerrit Code Review 网页版代码走查工具。Gerrit Code Review is a web-based code review tool built on Git version control.
在IT行业中,代码审查(Code Review)是一种至关重要的实践,旨在提高软件质量,发现潜在的错误,提升团队协作效率,并确保代码遵循最佳实践和项目规范。"review code"这一主题涵盖了多个方面,包括代码审查的目的、...
**代码审查(Code Review)是软件开发过程中的一个重要环节,旨在提高代码质量,发现潜在的错误,提升团队协作效率,并确保代码遵循最佳实践和项目规范。本文将深入探讨代码审查的原理、步骤以及如何有效地执行代码...