code review是项目过程中一项非常重要的工作,可以有效检查出代码层面的问题,而这些问题常常是QA难以发现的。但在现实工作中code review常常因为无法量化而流于形式,无法形成有效地闭环,很多时候只是在PM提醒下互相看两眼,或是组织大家开code review会议,在会议上大伙一起对着投影做集体review,效果可想而知不会太好。
解决以上的问题关键在于形成一个机制并且借助有效的工具去实施,这一点上可以借鉴QA的bug系统,对每一个有问题的点建立问题发现、问题分配和问题解决等生命周期,并且记录在案,使每个code reviewer担当起类似QA的职责。
code review机制
code review机制和流程可见下图所示:
整个流程下来关键在于所有code review的工作能把项目所有人纳入进来,而不只是Leader或项目核心成员的事情,另外要把每个issue形成闭环,让发现的问题正在得到解决
具体实施方法
实施的方法是根据所定的机制和流程而来,对于上面的流程通过一个excel也能完成,但不适合整个team并行来做,Jupiter就是一个为了让整个team来做review的工具,它是一个eclipse plugin,因此能很好和需要review的code结合起来,非常方便。下面讲一下通过Jupiter来完成以上流程的具体步骤(安装就不多说了,eclipse里面直接更新http://jupiter-eclipse-plugin.googlecode.com/svn/trunk/site/即可):
1)Coder把需review的code提交给Reviewer
某个模块的开发者完成代码后需要把涉及到的代码提交给Reviewer
进入项目的Properties面板,选择Review子面板:
新建一个Review单元,按照新建流程一路下去即可,关键在Reviewer Setting面板里指定谁来review你的代码,如下例所示:
在Author Setting面板里指定谁对这个代码负责,一般都是这个代码的coder,如下例所示:
以上的指定就是要弄明白review过程中的各个角色,其他选项就根据需要指定即可,使用默认也行。
新建一个review单元后得把产生的.review文件commit上去,因为所有的流程和动作都是基于这个文件,大家的合作就是基于这个文件的版本管理,所以只有commit这个文件才算是提交了一个review单元,Reviewer才能感知到这个review项
2)Reviewer review提交给自己的code并注明意见
Reviewer更新所有.review文件后,进入Jupiter的Individual阶段:
在Reviewer ID里选择代表自己的那一项,完了后即可开始具体的代码review,在review面板里能方便地找到需要review的文件:
在具体的代码行上可以加上review注释:
保存后在代码就会有个明显的标示表示这里需要修改:
完成所有review工作后commit .review文件
3)Leader根据工作量安排把issues分配给修改人
Leader更新所有.review文件后,进入Jupiter的Team阶段:
对每个issue选择分配给谁,默认是是分配给此代码的coder
4)coder修复具体的issues
coder更新所有.review文件后,进入Jupiter的Rework阶段:
可以看到所有分配给自己的修复任务,修复好后,更改status为Resolved
5)issues确认和关闭
Reviewer或Leader在Jupiter的Rework阶段查看每个issue的修复结果,确实修复好的更改status为closed,如果没有修复好的找到coder进行交流,需要集体确认和讨论的留到code review会议上
分享到:
相关推荐
junit-jupiter-api-5.7.0.jar
赠送jar包:junit-jupiter-params-5.7.2.jar; 赠送原API文档:junit-jupiter-params-5.7.2-javadoc.jar; 赠送源代码:junit-jupiter-params-5.7.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-params-...
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
junit-jupiter-api-5.6.2.jar
JUnit5相关的 JUnit Jupiter.jar依赖包,主要包含: junit-jupiter-5.5.1.jar,junit-jupiter-api-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-jupiter-api-5.4.2.jar,...
junit-jupiter-engine-5.6.3.jar
赠送jar包:junit-jupiter-api-5.8.2.jar; 赠送原API文档:junit-jupiter-api-5.8.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.8.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.8.2.pom; ...
junit-jupiter-api-5.7.1.jar
借助一些工具可以更容易,更有效率地来进行Code Review,本文介绍的Jupiter即是其中之一。 Jupiter概述 Jupiter是一款开源的Eclipse插件,以XML形式存储review数据,通过SVN/CVS将review结果在团队内共享。一个...
Jupiter是一款开源的Eclipse插件,以XML形式存储review数据,通过SVN/CVS将review结果在团队内共享。一个很方便的功能是其建立了review问题跟具体源代码的对应关系(通过点击review问题列表中的问题可以跳转到对应的...
标题 "Jupiter.Ascending.2015.720p&1080p.BluRay.rar" 暗示这是一个包含高清电影资源的压缩文件,具体来说是电影 "Jupiter Ascending"(朱庇特上升)的2015年版本,分别有720p和1080p两种分辨率的蓝光格式。...
同时,Jupiter的熔断机制可以在服务出现故障时,快速隔离问题,保护整个系统稳定运行。 4. **配置中心**:Jupiter支持集中式的配置管理,使得服务的配置可以实时更新,无需重启服务,提高了运维效率。 5. **安全...
junit-jupiter-params-5.7.0.jar
junit-jupiter-api-5.6.3.jar
本文将详细介绍两款Eclipse插件——Jupiter和Reviewclipse,它们是进行Code Review的有力工具。 Jupiter是一款针对Eclipse IDE的Code Review插件,专门设计用于帮助开发者进行代码审查。通过集成Jupiter,开发者...
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
junit-jupiter-engine-5.7.1.jar
junit-jupiter-engine-5.6.2.jar
junit-jupiter-migrationsupport-5.5.2.jar
junit-jupiter-engine-5.7.0.jar