Code Review 使用手册.docx
- 文档编号:23377555
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:18
- 大小:1.61MB
Code Review 使用手册.docx
《Code Review 使用手册.docx》由会员分享,可在线阅读,更多相关《Code Review 使用手册.docx(18页珍藏版)》请在冰豆网上搜索。
CodeReview使用手册
CodeReview使用手册
北京城市网邻信息技术有限公司
2012-11-06
文档修订记录
序号
版本号
修订日期
修订概述
修订人
审核人
批准人
备注
1.
1.0
2012-11-06
起草
刘莎
江菊
2.
2.0
2013-5-31
修订
刘莎
3.
4.
5.
6.
7.
8.
9.
10.
1.CodeReview简介
CodeReview也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。
目前,我们使用CodeReview平台选用的工具是ReviewBoard,ReviewBoard是一个在线代码评审工具,基于Django搭建。
Django是一个用Python编写的很流行的Web框架。
CodeReview平台地址:
开通codereview账号:
发邮件至**********申请开通。
用户名规则:
即RTX账号。
2.Review流程
2.1.Pre-commitreview流程
Pre-commitreview指在代码提交之前发起代码评审,其流程如下:
SVN-HOOK限制:
对核心模块添加SVN-HOOK提交限制,必须评审通过,且按照代码提交的日志规范进行填写日志。
代码提交的日志规范:
DEV:
review:
评审通过的ID号,后面可加其他说明,例:
DEV:
review:
110,修复bug
注:
已经评审通过shipit的ID号不能再进行更新评审,只能再提交一个新的评审。
即:
当评审已经shipit,将评审关闭并且代码已提交完,表示此次评审结束,ID号不能再次用于提交使用。
2.2.Post-commitreview流程
Post-commit指代码提交后,将版本库中某两个版本的代码diff发起评审,流程如下:
3.Windows下发起评审流程
3.1.安装Tao-ReviewBoard插件
(1)目前Tao-ReviewBoard暂时只支持Subclipse管理的EclipseProject。
因此,需要使用Tao-ReviewBoard插件的完整功能,必须先安装SubclipseEclipse插件,当前subclipse的最新版本是1.6.x。
该项目主页是:
http:
//subclipse.tigris.org,该插件的官方安装地址是:
http:
//subclipse.tigris.org/update_1.6.x,请从Eclipse>Help>InstallSoftware中直接安装。
Subclipse是必选的安装组件。
注意:
一般来说,在Help>InstallNewSoftware页面,请不要勾选Contactallupdatesitesduringinstalltofindrequiredsoftware。
如果勾选了该项,插件安装将是一个漫长的等待过程。
如下图所示:
(2)安装完SubclipseEclipse插件后,便可以安装Tao-ReviewBoard插件了。
安装方法是(如下两种方法任选一种即可):
(2.1)离线安装。
您也可以将源代码目录的/updatesite/plugins目录下的所有jar文件拷贝至Eclipse的dropins目录(或plugins目录),然后重新启动Eclipse即可。
或者参考http:
//code.taobao.org/p/tao-reviewboard/wiki/index/ 页面相关说明下载离线安装包。
(2.2)在线安装。
我们推荐您使用在线安装方式,这将极大方便您今后的在线升级。
官方安装地址:
http:
//abs.taobao.org/updatesite/,请通过Eclipse的Help>InstallNewSoftware直接安装,安装前请先勾选需要安装的模块(请勾选所有模块)。
注意:
在Help>InstallNewSoftware页面,请不要勾选Contactallupdatesitesduringinstalltofindrequiredsoftware。
如果勾选了该项,插件安装将是一个漫长的等待过程。
图:
安装Tao-ReviewBoard
3.2.卸载Tao-ReviewBoard插件
(1)离线安装后的卸载方法:
直接在Eclipse的dropins目录(或plugins目录)删除Tao-ReviewBoard插件的jar即可。
(2)在线安装后的卸载方法:
卸载ReviewBoard插件的方法是:
在Eclipse的Help->AboutEclipse窗口中,点击InstallationDetails,打开InstalledSoftware,找到Tao-ReviewBoard插件的各个模块,选中后,点击按钮Unintall即可。
3.3.配置ReviewBoard服务器并保存常用属性
使用ReviewBoard插件之前,您必须首先在首选项中配置服务器信息。
3.3.1.使用首选项配置服务器信息
可以通过“Window->Preferences->Tao-ReviewBoard配置”打开首选项配置窗口对常用属性进行配置。
图:
首选项处配置服务器并保存常用属性
参数含义:
Server:
如果配置了多台ReviewBoard服务器,则需要在这里指定提交Request时具体会使用哪一台服务器。
注意:
Server的格式必须形如http:
//reviews.your-domain.org,以http或https开头。
UserID和Password请使用你的域账号和密码。
Groups、Peoples:
如果设置了这些项,那么提交和更新Request时,无需每次都输入相关项的值。
3.3.2.功能高级配置
可以通过“Window->Preferences->Tao-ReviewBoard配置->功能高级配置”定制一些高级功能。
图:
首选项处配置->功能高级设置
重置缓存信息:
为优化用户体验,Groups、Users、Repository列表缓存到本地内存,以便提交或更新Request时,填写相关项时能快速给出智能提示。
点击重置按钮后,将立刻同步服务器的数据到本地。
Post-commit模式自动获取start版本。
插件会通过svn的路径和文件和目录的版本自动获取文件/目录的创建版本。
分支路径下post-commit模式自动获取start版本:
如果svn路径中包含branches路径,则在post-commit模式,自动获取start版本为分支创建版本。
任意路径下post-commit模式自动获取start版本:
svn路径中不包含branches的其他路径也可以使用这中模式,自动获取的start版本为所选文件中初始版本最低的版本号。
需要指出的是这项勾选后,在post-commit模式打开提交页面时需要的时间会比较长。
Diff文件默认编码:
默认是自动设置。
一般来说无需改变该项,因为Tao-ReviewBoard插件会智能地判断代码的文件编码(GBK或UTF-8)。
除非您某些极其特殊的情况下,插件智能判断文件编码失败或误判编码(主要体现在:
diff文件是乱码),您才需要手动指定diff文件编码。
3.3.3.页面显示高级配置
可以通过“Window->Preferences->Tao-ReviewBoard配置->页面显示高级设置”定制一些高级功能。
默认配置下,提交和更新Request时,不常用的功能,不将显示在提交或更新页面。
但是,如果您在这里勾选了诸如TestingDone、BugClosed等功能后,您会发现您的提交和更新页面多出了这些额外选项功能。
图:
首选项处配置->页面显示高级设置
3.4.pre-commitreview
3.4.1.第一次发起评审
(1)选中修改过的文件,右键选择pre-commitrequesttoreviewboard;
(2)填写request详细信息:
注意:
Summary、ReviewersPeople(即审核人)和Thereviewrequest’sdescription是必填项;多个people、group和BugClosed之间请用英文状态的','分隔;且BugClosed必须为数字!
(3)发布评审请求,等待评审者评审。
3.4.2.评审者评审
(1)评审者看到评审的路径:
(1.1)通过邮件,评审者看到邮件可打开reviewURL或者点击viewdiff查看评审内容。
(1.2)登陆reviewboard,点击左边导航栏——ToMe,可找到指定给自己的评审。
注:
StarredReviews担任过主角的评审任务
OutgoingReviews进行中的评审任务
IncomingReviews传递过来的评审任务(包含指定给自己的或者指定到自己所在的组的)
ToMe指定给自己的评审任务
WatchedGroups自己监视的评审组内的评审任务
AllMyRequests所有的自己的评审任务
(2)找到评审页面后,点击viewreviews,查看具体diff代码给出相应评审意见,并发布publish。
如下图所示:
(3)若勾选openanissue,则表示这是个bug,需要RD修改。
修改完成了,将issuefixed,表示已将Bug修改。
若不勾选,则只是评审意见。
3.4.3.更新评审
(1)若评审不通过,需根据评审意见进行修改,修改完成后,生成新的diff文件,再次提交评审请求。
可以勾选UpdateRequest,即表示修改Request,此时必须输入需要修改的RequestID。
(注意:
要显示出这项,需将界面最大化才能看到!
)
默认情况下将PublishRequest,如果用户希望SaveasDraft而不是PublishRequest,请勾选SaveasDraft(默认情况下界面上无此选项,除非已经通过首选项的页面高级配置功能自定需要该功能)。
(2)评审者再次进行评审,流程请参见:
评审者评审
3.4.4.关闭评审
(1)提交修改到代码库
(2)reviewboard请求控制面板上点击Close->Submitted,关闭评审请求。
submitted表示修改已经提交代码库,且不需要进一步的评审。
discarded表示评审被废弃,且不再需要更新或评审。
3.5.post-commitreview
3.5.1.第一次发起评审
注:
与pre-commitreview方式不同的是,post-commitreview多了一个必填项,必须填写SVN的开始版本号或结束版本号。
3.5.2.评审者评审
流程请参照:
评审者评审
3.5.3.更新评审
流程请参照:
更新评审
3.5.4.关闭评审
流程请参照:
关闭评审
4.Linux下发起评审流程
Linux下运用post-review工具发起评审。
通过命令行的方式发起评审。
4.1.pre-commitreview
是指RD在本地修改代码后,未提交到svn,通过命令行发起评审请求,将本地代码和线上服务器head版本做diff。
评审通过才能提交到svn上。
4.1.1.第一次发起评审
(1)先将需要评审的代码检出。
svnco代码URL。
例:
svncohttp:
//10.58.119.118/scmtest/branches/spat-imc/spat-imc_2-0-0_BRANCH
(2)进入分支路径下,编辑里面的文件并保存退出。
(3)发布评审请求。
例:
post-review--server=--description=test--summary=test--target-people=liusha01-p
注:
--server=”服务器url”;
--summary=”评审题目”;
--target-people=”评审者codereview账号,多个账号用逗号分隔”
--description=”评审内容描述”
-p添加此参数后,该评审流程将直接被发布;如果不添加此参数,评审需求将被保存为草稿,需要发起人手工点发布按钮发布;
4.1.2.评审者评审
流程请参照:
评审者评审
4.1.3.更新评审
例:
post-review--server=--description=update--review-request-id=153-p
注:
修改代码后重新发起评审,不需要写summary,target-people。
但是需添加一个参数。
--review-request-id=”更新评审的requestid”。
4.1.4.关闭评审
流程请参照:
关闭评审
4.2.post-commitreview
是指RD已将修改的代码提交到svn上,通过命令行发起评审请求,将本次提交的版本与线上服务器上其他版本做diff。
4.2.1.第一次发起评审
(1)先将需要评审的代码检出。
svnco代码URL。
例:
svncohttp:
//10.58.119.118/scmtest/branches/spat-imc/spat-imc_2-0-0_BRANCH
(2)到达分支路径下,编辑里面的文件并保存退出。
(3)发布评审请求。
例:
post-review--server=--description=test--summary=testcommit--target-people=liusha01,jiaohongying–target-groups=pmo--revision-range=911:
1426-p
注:
--revision-range=评审版本区间的diff文件
4.2.2.评审者评审
流程请参照:
评审者评审
4.2.3.更新评审
例:
post-review--server=--description=update--review-request-id=153-p
注:
修改代码后重新发起评审,不需要写summary,target-people。
但是需添加一个参数。
--review-request-id=更新评审的requestid。
4.2.4.关闭评审
流程请参照:
关闭评审
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Code Review 使用手册