引言
Code Review的作用和意义已在很多技术团队内达成共识,可是很多时候并未被有效执行,甚至被认为是一项费时费力的工作。借助一些工具可以更容易,更有效率地来进行Code Review,本文介绍的Jupiter即是其中之一。
Jupiter概述
Jupiter是一款开源的Eclipse插件,以XML形式存储review数据,通过SVN/CVS将review结果在团队内共享。一个很方便的功能是其建立了review问题跟具体源代码的对应关系(通过点击review问题列表中的问题可以跳转到对应的代码段,通过点击代码段上的review问题标记可对应到具体的问题描述),review问题列表支持各种filter规则(根据review问题状态、责任人等,通过这个filter可以列出具体阶段需关注的问题)。
Jupiter安装
通过Eclipse的update site 在线安装:http://jupiter-eclipse-plugin.googlecode.com/svn/trunk/site/
或下载后安装:http://code.google.com/p/jupiter-eclipse-plugin/downloads/list
安装后可能需重启Eclipse。
Jupiter的Code Review流程
Jupiter的Code Review流程为以下几步:
1.建立review任务:代码修改者或TL建立review任务,指定需评审的代码文件、参与评审的人员、定义问题类型及严重级别等。
2.个人评审阶段:开始个人独自评审,将可能出现的问题加入问题列表。
3.团队评审阶段:团队成员坐在一起,讨论个人评审阶段的问题,确定是否需要修复并分配解决人员。
4.问题修复阶段:每个人修复分配给自己的问题,修复后修改问题状态。
下面图文介绍具体的操作(点击图片看大图)。
1.建立review任务
在“Package Explorer”或“Navigater”里,右键点击项目名称,选择“Properties”显示项目属性窗口。
![](https://i-blog.csdnimg.cn/blog_migrate/24f9983196e770967d8dea2e97ef547a.jpeg)
选择“Review”将显示Jupiter属性
![](https://i-blog.csdnimg.cn/blog_migrate/b839dc99d139ad18fe80bd43a584c957.jpeg)
点击“New”按钮打开新建Review ID对话框,输入Review ID(需符合文件命名规则)和Description。
![](https://i-blog.csdnimg.cn/blog_migrate/fd7e83a8542ffea35050919b9b11d5ea.jpeg)
选择需要Review的文件,可一次选择多个
![](https://i-blog.csdnimg.cn/blog_migrate/33c3487bd51c8c0272e14488ee0d8520.jpeg)
需要Review的文件列表,可继续Add或选中后Remove
![](https://i-blog.csdnimg.cn/blog_migrate/6670ca2239b47d2bd02fcefb0eba25a6.jpeg)
设置参加Review的人员,每次添加一个,重复多次
![](https://i-blog.csdnimg.cn/blog_migrate/c14c04b1200f69863b2c3757a14ae174.jpeg)
添加后的Reviewer列表,可继续Add或选中后remove
![](https://i-blog.csdnimg.cn/blog_migrate/769586315b3dad4b45372654b1b58950.jpeg)
选择评审负责人
![](https://i-blog.csdnimg.cn/blog_migrate/615417c80f1e0502fdebe7eb242154b6.jpeg)
接下来的几步是设置问题类型及严重级别和filter,根据实际情况修改或用默认值,finish后会在工程根目录生成.jupiter文件,提交该文件到SVN。
2.个人评审阶段
从SVN上更新最新的源代码和.jupiter文件,在Eclipse里“Window”-“Open Perspective”-“Other”选择“Review”打开Review视图
![](https://i-blog.csdnimg.cn/blog_migrate/e3bdcaa880953f151dee373a8320969a.jpeg)
选择“Individual Phase”
![](https://i-blog.csdnimg.cn/blog_migrate/d48e5d71e965d94973bde012a4496b20.jpeg)
选择Project Name(项目名称),Review ID(review任务)和Reviewer ID(评审人员)
![](https://i-blog.csdnimg.cn/blog_migrate/cadb5ff12c5a4a39095cb4aa60a55acb.jpeg)
“Review Table”右边第一个下拉菜单显示了需Review的文件
![](https://i-blog.csdnimg.cn/blog_migrate/3badd21a9bb74b8623d1740a9a2a41bc.jpeg)
选择文件就可以开始review了,发现问题时,光标停在问题代码处,点击鼠标右键选择“Add Review Issue……”
![](https://i-blog.csdnimg.cn/blog_migrate/6f5a8a7b2bca6ac86f7a93585252d893.jpeg)
在“Review Editor”里选择问题类型及严重性,添加概要和详细描述,保存。可以看到增加了Review问题的代码会在行首处有标记。
![](https://i-blog.csdnimg.cn/blog_migrate/56e218fd82148775ddbf527671b7d11b.jpeg)
个人评审完毕后将Jupiter评审数据目录(默认为review)下的数据上传到SVN。
3.团队评审阶段
团队成员坐在一起,从SVN上更新最新的Review数据,从review试图中选择“Team Phase”,点击“Review Table”中的问题会跳到对应的代码,一起讨论代码是否确实存在问题,在“Review Editor”里分配修复人员及解决方式,保存。
![](https://i-blog.csdnimg.cn/blog_migrate/35f6a014173152bd8b78d1ebea52ed01.jpeg)
团队评审完毕后将Review数据上传到SVN。
4.问题修复阶段
个人回到自己的工作机,更新最新的review数据,从review试图中选择“Rework Phase”,会在“Review Table”里列出分配给自己的问题,逐一修复,并在“Review Editor”将问题状态改为“Resovled”,保存并将review数据上传到SVN。
![](https://i-blog.csdnimg.cn/blog_migrate/f928bace39559991132b4e88334259af.jpeg)
Rework完成后,各位评审者再次检查,如果检查未通过,可将问题状态改为“Re-Opened”,确认问题修复后将问题状态改为“Closed”,
至此,一个Code Review流程结束。