Jupiter Code Review Reference -- Jupiter代码审查工具使用参考

2023-11-20 14:08

本文主要是介绍Jupiter Code Review Reference -- Jupiter代码审查工具使用参考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[-]

Jupiter Code Review Reference

备注:IE6内核的浏览器图片总是出不来,建 议使用Mozilla Firefox,Opera,谷歌浏览器 

一、       Jupiter是什么?

这里的 Jupiter 是一个开源的代码审查工具,是集成在 Eclipse 下执行代码审查工作一个很棒的工具。

可以把 Jupiter 的工作划分为 3 个阶段,(我个人认为 5 个人阶段),分别是:

Individual Phase 个人阶段,表示个人审查阶段。

Team Phase 团队阶段,表示团队审查阶段。

Rework Phase 修复阶段,表示修改 Bug 阶段。

而我觉得应 该加入:

任务定义阶 段和 BUG 确认阶段。

任务定义阶 段:是指在指派审查任务前的任务定义和分配过程。

BUG 确认阶段:是指 bug 修改结束后的重新审查和关闭 bug 阶段。

二、       如何安装Jupiter

条件: Jupiter 需要 Java 5 或更高版本的 JDK 以及 Eclipse3.3 ( Europa )或更高版本 Eclipse 。由于 Jupiter是基于团队的工作,建议在一个版本控制系统下执行 代码生审查工作。(即 CVS 或 SVN 等)。

安装: [ 这里只提供针对 Eclipse3.5 Galileo 的离线安装,通过在线安装的地址是: http://jupiter-eclipse-plugin.googlecode.com/svn/trunk/site/ 请自行决定 ]

第一步:

到 http://code.google.com/p/jupiter-eclipse-plugin/downloads/list 下载最新的 JAR 文件。

第二步:

把下载到的 JAR 文件拷贝到 Eclipse 的 plugins 目录下。

第三步:

重启 Eclipse (或是打开 Eclipse )如果在 Eclipse 的工具栏出现如下图标表示安装成功。

 

三、       如何创建Review ID?

1、          我们先了解 什么是 Review ID

Review ID 代表一个审查任务,包涵了很多元素,比如审查任务 名称,描述,审查那些代码文件,审查人,审查类型,级别设置等等,而这些信息正是组成一个审查任务的基本元素。

2、          创建 ReviewID 流程

A、        在 Eclipse 右击选择要审查代码的项目

B、        选择“属 性”,如下图:

 

 

C、        进入属性页 面选择“ Review ”选项,如下图:

  

 

D、    点击右边的 “ New… ”按钮出现填写框,可以填写 ReviewID 的名称,描述。如下图:

 

 

E、     点击“ Next> ”按钮进入下一步,选择对那些代码文件进行审查, 如下图:

 

 

F、     点击“ Next> ”按钮进入下一步,选择或是新输入审查人员,如下 图:

 

 

G、    点击“ Next> ”按钮进入下一步,指定 Session 的作者,这部可以不选择,但是一般选择所审查程序 的编程人员。

 

 

H、    点击“ Next> ”按钮进入下一步,选择“ Type , Severity , Resolution , Status ”的选项,同时可以修改这里选择项,这一点很有 用,在大部分的代码审查工具中这个不能做到很灵活,所以有不少弊端。但是 Jupiter 搞定了这个问题。

 

 

I、        点击“ Next> ”按钮进入下一步,确定“ Type , Severity , Resolution , Status ”的默认选项。如下图:

 

 

J、       点击“ Next> ”按钮进入下一步,输入最后得审查数据放在那个目 录下,建议用日期加任务标记作为目录,

比如 :2010630TEST ,如下图:

 

 

K、    点击“ Next> ”按钮进入下一步,最后设定每个阶段的过滤器,每 个项目可以根据项目的需要设定,这里默认不变。

 

 

L、     点击“ Finish ”按钮完成 ReviewID 的设定,在工程的属性对话框里多了一条数据,这些 数据就在文件“ .jupiter ”下,这个文件在工程的文件目录下,如下图:

 

 

 

3、          发布 ReviewID

发布 ReviewID 的过程其实就是配合 SVN 或是 CVS 或是其他版本控制系统发布“ .jupiter ”,通过传播“ .jupiter ”,让其他人把该文件拿到同一工程下的同一目录, 即可实现下一步骤的功能。

4、          获取 ReviewID

获得的方式 主要通过同步版本控制器的“ .jupiter ”文件即可,一般是定制一个审查任务之后,发起者发出邮件,邮件里面说明此次任务的具体细节,在“ .jupiter ”里面就 是这些细节的体现。

四、       在Individual Phase我们应该做些什么?

1、          Individual Phase 的目标

个人阶段的 目标就是针对在 ReviewID 定义阶段指定的审查人员开始工作的出发地,他们要 从这里开始,把属于他的任务执行完成,并提交到版本控制器,有很多需要注意的细节我们在后面表述。

2、          Individual Phase 的过程

1)                确认已经从 版本控制器更新了“ .jupiter ”文件。

2)                点击 Jupiter 的 Eclipse 图标的下拉箭头,出现 4 个选项,选择 1 Individual Phase ,即可进入选择 ReviewID 界面。如下图:

 

 

3)                选择 ReviewID 界面,如下图:

 

 

4)                点击“ Finish ”按钮,进入 Individual Phase 视图,图下图:

 

 

5)                点击“ ReviewTable ”视图的 按钮,出现可以选的待审查的代码文件列表,如下 图:

 

 

6)                选择其中你 想审查的文件,那么在 Eclipse 的编辑区即打开该文件。这时候,你可以开始你的Review 工作了。


7)                找到一个 Bug ,那怎么办?选择代码行,右击,选择“ Add Review Issue…”, 如下图:可记录改BUG 的所有信息,并分类型,严重等级等。填写之后点击 右边的 保存按钮,形成一条审查记录。

 

 

8)                这时候在代 码文件行号的位置出现一个小图标,说明这行代码有问题,同时在“ ReviewTable“视图增加了一条记录。如下图:

 

 

 

3、          结束 Individual Phase

个人审查阶 段就是这么一个一个问题的叠加的,直到你完成所有代码文件的审查工作,这之后刷新工程项目的目录,在目录的下面会增加一个子目录“ 2010630TEST ” [ 不一定就这个名称,这是根据你在定义 ReviewID 时数据而定 ] ,里面有一个文件“测试代码审查任务 -XXX.review ”。其中“ - ”的前一部分是 ReviewID 名称,后一部分的 XXX 是执行 Individual 的 ReviewerID ,也就是审查者。文件的后缀是.review 。提交 .review 文件到版本控制系统,并回复执行的任务邮件告知审 查发起者你的任务已经完成,在回复时记得把 .review 文件名称写在邮件里面。

五、       在Team Phase我们讨论些什么?

1、          Team Phase 的目标

Team Phase 的目标就是把很多审查人的审查文件集合起来然后, 开个评审会议,把问题讨论清楚,确认是否需要调整或是制定给谁解决等。

2、          Team Phase 的过程

1)      进入 Team Phase ,操作如下图:

 

 

2)      进入下图, 选择讨论哪个审查者审查出来的问题。

 

 

3)      点击“ Finish ”按钮,进入 BUG 的浏览界面面,如下图:

 

 

4)      那么如何讨 论一个审查出来的 BUG 呢,双击“ Review Table ”里面的一个 Bug ,在 Eclipse 的编辑区即可导航到该代码行,而在“ Review Edit ”则打开该 Bug 的具体描述,可以指定给那个开发人员修改 [ 默认是在设定改 ReviewID 时指定的 Session Author ] ,可以设定“ Resolution” 的选项,并添加备注。如下图:

 

 

5)      最后点击保 存,结束一个 Bug 的讨论。

3、          结束 Team Phase

依次循环, 逐个解决审查出来的 Bug ,并提交 .review 文件到版本控制器,并邮件通知代码修改人员。每个 Bug 都应该得到重视,讨论时一种很好的传播方式,所以 在结束 Team Phase 前,一定要把问题总结出来,尽可能的避免下次再次 出现。

六、       在Rework Phase修改Bug

1、          Rework Phase 的目标

Rework Phase 的目标就是每个开发人员去看看被检查出来的 bug ,并彻底的修复它,不要留下任何给检查者在 Reopen 的机会。

2、          Rework Phase 的过程

1)            进入 Rework Phase ,操作如下图:

 

 

2)            同样需要选 择对应的项目和对应的 Review 信息,如下图:

 

3)            一般这时候 不一定可以在“ Review Table ”看得到 BUG 记录,需要选择“ Review Table”的过滤按钮  才能看到 Bug 记录。

4)            Ok ,逐个双击,导航到代码,逐个修改,修改之后在“ Review Editer ”调整该 Bug 的信息。如下图:

 

 

其中状态可 以改成 Resolved ,表示已经解决问题;或是 Closed 表示直接关闭,或是 Reopen ,重新开启(最好不要被重新开启)。

3、          结束 Rework Phase

逐个解决 Bug ,逐个修改它的状态,最后提交 .review 文件到版本控制系统,并邮件通知代码审查人员可以 重新审查已经修改的 Bug 了。

七、       确认修改

1、          可能不需要 这一步骤

有些团队可 能不需要这一步骤,但是这只是建议,应为他们的人手不够,而且每个开发人员都值得信任,每个修改者在修改完 bug 之后直接 close 了 bug 。直接进入报表生成阶段。而我觉得这一步骤在很多 场合很有必要,比如需要有人来证明你的 bug 确实解决了。

2、          如何重新审 查

进入重新审 查的过程和进入 Rework Phase 的过程一样,只需要查看 Bug 修改情况和调整 Bug 的状态即可。

3、          结束审查

结束审查之 后需要邮件通知所有相关人员您的重新审查情况。

八、       分析.review文件

.review 文件以 xml 格式为结构,具体的每个标签标示一个实际的意义, 我们来看看它的描述问题方式:

<?xml version="1.0" encoding="UTF-8"?>

< Review id =" 测试代码审查任务 "> <!— 表示我们定义的 Review ID 的名称 —>

  < ReviewIssue id =" GB1UV3SO "><!— 表示自动生成的 Bug 对应的 ID—>

   < ReviewIssueMeta >

     < CreationDate > 2010-06-30 :: 15:38:57:144 CST </ CreationDate ><!— 什么时间创建的 Bug—>

     < LastModificationDate > 2010-07-01 :: 14:18:02:631 CST </ LastModificationDate ><!— 最后修改时间 —>

   </ ReviewIssueMeta >

   < ReviewerId > 吕宽沟 </ ReviewerId ><!— 发现 bug 的人员 —>

   < AssignedTo > 谷子地 </ AssignedTo ><!— 修改 bug 的人员 —>

   < File line =" 60 "> src/com/jem/report/exam/xml/XmlDataSourceExample.java </ File ><!—Bug 具体位置 —>

   < Type > item.type.label.programLogic </ Type ><!—Bug 的类型 —>

   < Severity > item.severity.label.normal </ Severity ><!—Bug 的严重等级 —>

   < Summary > 多余代码 </ Summary > <!—Bug 描述标题 —>

   < Description > 这个语句在这里是多余的语句,没有实际的用处。 </ Description ><!—Bug 的描述 —>

   < Annotation > 也就是这样的 </ Annotation ><!—Bug 的批注 —>

   < Revision > 就是啊 </ Revision ><!—Bug 的调整备注 —>

   < Resolution > item.resolution.label.validFixlater </ Resolution ><!—Bug 的解决选项 —>

   < Status > item.status.label.closed </ Status ><!—Bug 最后得状态 —>

  </ ReviewIssue >

</ Review >

九、       把.review文件变成报表

这篇关于Jupiter Code Review Reference -- Jupiter代码审查工具使用参考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395157

相关文章

pandas DataFrame keys的使用小结

《pandasDataFramekeys的使用小结》pandas.DataFrame.keys()方法返回DataFrame的列名,类似于字典的键,本文主要介绍了pandasDataFrameke... 目录Pandas2.2 DataFrameIndexing, iterationpandas.DataF

使用Python和PaddleOCR实现图文识别的代码和步骤

《使用Python和PaddleOCR实现图文识别的代码和步骤》在当今数字化时代,图文识别技术的应用越来越广泛,如文档数字化、信息提取等,PaddleOCR是百度开源的一款强大的OCR工具包,它集成了... 目录一、引言二、环境准备2.1 安装 python2.2 安装 PaddlePaddle2.3 安装

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Python中Flask模板的使用与高级技巧详解

《Python中Flask模板的使用与高级技巧详解》在Web开发中,直接将HTML代码写在Python文件中会导致诸多问题,Flask内置了Jinja2模板引擎,完美解决了这些问题,下面我们就来看看F... 目录一、模板渲染基础1.1 为什么需要模板引擎1.2 第一个模板渲染示例1.3 模板渲染原理二、模板

浅析如何使用xstream实现javaBean与xml互转

《浅析如何使用xstream实现javaBean与xml互转》XStream是一个用于将Java对象与XML之间进行转换的库,它非常简单易用,下面将详细介绍如何使用XStream实现JavaBean与... 目录1. 引入依赖2. 定义 JavaBean3. JavaBean 转 XML4. XML 转 J

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl