用这个软件的初衷:
经过最近我们几轮的Code Review,Code review结果都记录在WIKI上,而没有一个专用的平台。
这样做的弊端:
1、依赖记录:会议记录做的不完整的话,不能定位到具体的类,具体什么方法出现问题。(这个问题昨天就出现过)
2、不便于跟踪:想看修改的结果需要翻WIKI,并且是否修改还需要来看WIKI->定位代码>人工检查->记录wiki
过程复杂,且需要开wiki和eclipse。
3、效率低:我看大家在review之前,都打印一份列表,按照列表来一一说明,这样效率太低,过程也很复杂。
昨天这些现象的出现,我就想,能否有一种工具,可以将Code Review的结果版本化呢?并且可以跟踪,置状态,就像JIRA一样,这样我们就不用那么复杂的过程了,还可以更好的提高Review的效率。
最后发现了一个Eclipse插件--Jupiter 一个很好的Code Review的管理工具,下面我简要介绍下这款工具:
插件介绍:
Jupiter提供了代码行级别的评审批注功能,方便评审参与人了解具体是哪些行代码存在问题。同时,它也比较 符合常规的评审流程,被评审人提供待审代码->评审人线下提出个人意见->组织讨论会讨论每个人提出的意见并确定问题及解决方案->被 评审人rework修改代码->评审人查看修改情况。
Jupiter里,代码评审(code review)分为4个流程
- *Configuration(配置):*review发起者设置“Review ID”,指定要评审的代码,参与代码评审的人员,要讨论的问题等等。
- *Individual review(个人评审):*每个人独自审查代码,把可能出现问题的代码加入checklist
- *Team review(团队评审):*大家在一起讨论之前检查出的问题代码,并决定如何处理
- *Rework:*开发人员根据之前评审的结果,对代码进行修复
Jupiter支持在一个项目中的多次评审,多人协同参与评审,支持多种配置库如SVN、CVS等,支持简单的评审流程,支持问题跟踪。
Jupiter提供的这些简单的功能,已经完全可以胜任常规的代码评审需要,作为常规评审比较合适。并且评审人和被评审人都可以通过Eclipse 操 作,对于我们程序员来说,很方便,大家天天都要对着Eclipse,Jupiter可以让代码评审成为编码的一部分工作而又不增加评审工作量。
并且在Jupiter上可以置代码所需修改的级别,以及状态,跟JIRA操作差不多,方便跟踪。
目前我已经在视频选件的Team中,用到了这个插件,这个插件产生的.Jupiter文件(结果文件)可以上传至SVN,CVS等,方便组内人员下载后,看到review的信息。我觉得其他工程也可以用的上。 有关这款插件的使用,我就不说了,各位如果感兴趣,可以去JAVAEYE上看。地址:http://fyting.javaeye.com/blog/87489

软件主页: http://code.google.com/p/jupiter-eclipse-plugin/

文档地址: http://code.google.com/p/jupiter-eclipse-plugin/w/list

下载地址: http://code.google.com/p/jupiter-eclipse-plugin/downloads/list

经过这次,我觉得,当我们遇到事情(尤其是出现问题的情况),不要一带而过,因为遇到过一次,肯定以后还会遇到。所以我们一定要去深深思考,因为只有思考了,才会有更好的解决办法,来帮助我们完成目标。只要思考,就一定能更好的解决问题。
思考未必一定会解决问题,但是不思考一定解决不了问题。
后话:目前发现了FishEye,在总体review的时候,还是不错的,统一管理平台,准备以后将Code Review移植到FishEye的平台上去。