论坛首页 Java企业应用论坛

【原】Eclipse Code Review(代码审查)工具介绍

浏览 49288 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-01-07   最后修改:2010-02-05

Keywords : Code Review、Jupiter、ReviewClipse、代码评审、代码审查


最近组内一直在做代码改进,既然是代码级别的改进,我想比较直接有效的办法就是Code Review。

虽然以前开发部也做过代码评审,但基本上是程序员手动打包代码,评审人员对照打包和IDE中的代码提交缺陷,缺陷在平台上,代码在IDE中,我想评审效率和评审效果都会大打折扣。

既然发现了问题,目标很明确,找到一个即可以提高评审效率(即让评审人和被评审人都可以很方便的来参与评审),又可以保证评审效果的工具。

再结合我们的实际情况,我们是使用Eclipse IDE开发的,Eclipse的插件不计其数,不怕找不到,就怕你不找,因此从Eclipse Code Review Plugin 下手。

经过调研和试用,我找到两款比较好用的免费插件:ReviewClipseJupiter

简单介绍一下这两个工具的特点和在Qone中的使用场景

ReviewClipse

官方地址:http://www.inso.tuwien.ac.at/projects/reviewclipse/

这款插件是基于SVN版本比较机制进行代码Review的工具,通过配置svn中哪些人可以评审哪些人的指定类型代码,可以监控整个项目范围内指定人员指定类型代码文件的所有变更情况。通过这些变化代码的前后版本对比,可以发现被评审人的所有代码改动。

它比较适合在对代码改动比较敏感的阶段使用,如版本测试后期bug修改阶段或者mantis上小版本bug修改。或者进行较频繁的代码评审时使用,如项目经理想看新人每天提交的代码,让新人快速提升代码质量及改善代码风格。

这个工具应该说是项目经理进行代码修改影响分析的好工具,无需再自己对着SVN log,查谁改了哪些文件,然后再查影响分析了。贴个图先:

ReviewClipse查看代码变动
 

查看不同版本代码的对比情况
 

同时ReviewClipse还支持多人协同的代码评审,被评审人可以看到评审人给出的评审意见。

ReviewClipse的不足在我看来就是它只支持文件级别的代码评审,不能提供代码行级别的评审,并且不支持常规的代码评审流程。

Jupiter

jar及帮助文档下载地址:http://code.google.com/p/jupiter-eclipse-plugin/downloads/list

中文简要参考文档:http://fyting.iteye.com/blog/87489

Jupiter解决了ReviewClipse的不足,它提供了代码行级别的评审批注功能,方便评审参与人了解具体是哪些行代码存在问题。同时,它也比较 符合常规的评审流程,被评审人提供待审代码->评审人线下提出个人意见->组织讨论会讨论每个人提出的意见并确定问题及解决方案->被 评审人rework修改代码->评审人查看修改情况。

Jupiter支持在一个项目中的多次评审,多人协同参与评审,支持多种配置库如SVN、CVS等,支持简单的评审流程,支持问题跟踪。

我想Jupiter提供的这些简单的功能,已经完全可以胜任常规的代码评审需要,作为常规评审比较合适。并且评审人和被评审人都可以通过Eclipse操 作,对于我们程序员来说,很方便,大家天天都要对着Eclipse,Jupiter可以让代码评审成为编码的一部分工作而又不增加评审工作量。

Jupiter虽然对常规代码评审(Code Review)比较适合,但是对于像敏捷中的每日代码评审就显得有些力不从心,虽然也可以做到,但是每次评审需要指定评审文件,并且不能通过指定目录或者 通配符方式还是有些不便的,这一点它不如ReviewClipse那么直接精准。

先上一个Jupiter的图:



 
 

这两款工具完全可以结合起来使用,相信会减少不少代码评审的工作量。

两个工具的详细介绍,内容比较多,有必要再单独开2个帖子讨论,当然这也得看大家的回帖和参与情况了,否则没有发帖动力啊:)
暂时先介绍这么多…

  • 大小: 41.9 KB
  • 大小: 36.7 KB
  • 大小: 129.1 KB
   发表时间:2010-01-07  
怎么看不到图片呢
0 请登录后投票
   发表时间:2010-01-07  
多谢提醒,刚刚发现从公司内网copy过来的图片的网址使用的是公司内网地址,在外网就看不到了。

已经把图片更新到javaeye了
0 请登录后投票
   发表时间:2010-01-08  
这代码写的 包括hql的构造 简直跟我们公司写的一模一样啊
哈哈哈 看来大家是遵循的一个规范啊
0 请登录后投票
   发表时间:2010-01-08  
正是我们现在需要的,有必要研究一下拉。
0 请登录后投票
   发表时间:2010-01-08  
snowing11812 写道
这代码写的 包括hql的构造 简直跟我们公司写的一模一样啊
哈哈哈 看来大家是遵循的一个规范啊

见笑了,我们的代码有些乱,但是正在改进中
0 请登录后投票
   发表时间:2010-01-08  

好东西,谢谢分享!!!!
0 请登录后投票
   发表时间:2010-01-08  
Qone,cn.ac.iscas,这些东西一看就知道是同事了
0 请登录后投票
   发表时间:2010-01-08  
代码的检查工具是需要有一个,并且贯彻下去!

支持楼主对两个plugin写详细介绍,如果附上怎么带动组里执行的,就更好了!
0 请登录后投票
   发表时间:2010-01-08  
好帖,现在公司也在关注代码规范性问题,有了这两工具应该会方便很多~~
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics