============================================================
博文原创,转载请声明出处
============================================================
声明,此文档为我研究rb时候在web上下载的,时间长了,也忘记了来源,如果有侵权,请告知 ^_^
文档过长,并未完全发表,如有需要,请点此处下载
-------------
代码评审(Code Review)是敏捷开发很重要的一环,是保证软件质量的最佳实践之一。要做好代码评审, 就需要有一套简单,高效,功能完善且界面友好的工具,来支持代码审查审查流程。
目前部门还没有采用Pair Programming那种时时刻刻都在review代码的工作方式,代码Review多采用走查方式,即代码写完后召开一个Code Review的Meeting,集中时间和经验丰富的人力对重点代码进行筛查,这种方式的代码Review有利,但也有弊。其弊端在于低效和覆盖面小。做一次走查需要N多人参与若干个小时,而在这段时间里不是每个参与者都能极其高效的参与到走查中的,实践证明只有少数几个人能真正在一次代码审查会议上起到关键的作用。另外走查一次能覆盖的代码范围又较小,一些看似不重要却很可能带来BUG的代码在走查会上很容易被遗漏。Code
Collaborator 和Code Review等工具是对代码审查是一种很好的补充。Code Collaborator是一款收费工具,目前我部门ANM2000专项正在使用,效果较好。当前比较流行的开源Code Review工具有Review Board、CodeStriker等。
依据我《代码审查流程》,综合分析,备选的两款工具分别是:Code Collaborator(代码合作者)和Review board(评审委员会)。在完成两款工具的使用对比后,根据试用的实际情况对两款工具进行比较见下表:
n 【基于Code Collaborator和Reviewboard的代码审工具试用对比表】
两款工具的安装与试用说明见:
n 附件一:《基于ReivewBoard的代码审查平台搭建简要说明》
n 附件二:《基于Code Collaborator的代码审查平台搭建简要说明》
【基于Code Collaborator和Review board的代码审工具试用对比表】
要 素
|
Code Collaborator解决方案
|
ReviewBoard
解决方案
|
优点
|
缺点
|
优点
|
缺点
|
1.安装
|
安装简便,不易出错。
支持Windows、Linux、Max OS X、Solaris、BSD上安装。
|
收费
软件,故成本高
|
开源软件,成本低。
官方推荐在Linux和 Windows下安装
|
ReivewBoard(开源工具)的安装的确有些让人头痛,一堆互相依赖的软件包,版本稍有差异就很可能导致安装运行失败。而且失败的原因还很难得知。目前安装时仍有不稳定现象出现(一般报错有两种:
error1: Download error for http://www.pycrypto.org/files/pycrypto-2.3.tar.gz:<10065,'No route to host'>
error2: Setup script exited with error: Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2003 was not found on this system.If you have Cygwin installed,you can try comiling with MingW32,by passing "-c mingw32"to setup.py.)
|
安装最后创建出来的站点的时区是默认的美国太平洋时间,而不是北京时间。尝试在站点配置页面修改时区的时候,整个站点就挂了。
|
2.中文支持
|
对中文支持较好,试用期间没有发现问题
|
|
|
按照默认的步骤安装和配置后,输入和保存英文均没有问题。但是一旦输入中文,保存后页面显示的都是乱码,甚至某些时候在保存中文数据时ReivewBoard还提示错误。
|
3.版本控制系统
|
支持集成许多版本控制系统,包括SVN, CVS,Clearcase,
Visual SourceSafe 、等。
|
|
一个叫做“提交审查”的工具被用来和SCM系统进行连接(当前支持SVN、CVS、Perforce、Git和Mercurial等)
|
|
4.用户基础界面信息
|
1.多个同时评论
2.工作流支持评论/被许多作家在不同时区分开
3.版本控制集成
4.缺陷跟踪与严重程度,类型,分类,清单,和外部的问题跟踪器集成
5.全方面的度量指标,报告和数据出口
6.项目和角色为基础的规则和报告
7.基于Web的客户端和命令行跨平台客户端
8.命令行API的集成,扩展,自动化,并触发
|
|
|
1.在本地检出的代码的修改。
2.通过公布diff、编写描述和选择一些审查者来创建一个审查请求。 3.审查请求中点击“发布”并等待审查者看到它。
4.其他人看了你的审查请求。
5.你根据他们的评论更新了你的代码。
6.你公布了更新后的diff,以及对他们评论的解答以指明你修改了什么(或者你要说明为什么你不打算按照他们的建议修改代码)。
7.大家看了你更新后的代码,并请你继续。
8.你将修改提交到仓库中。
9.你在审查请求中点击“设置为已提交”来从其他人的面板中移除你的审查请求。
|
5.实时问题沟通
|
基于Web的即时“聊天”界面。
|
|
基于Web的即时“聊天”界面。
|
|
6.审查对象
|
不仅仅是文本文件,还可以是图片、HTML、WIKI网页、文件托管在Intranet或基于Web的文档管理系统。(测试用例也可以评)
|
|
|
仅是文本文件
|
7.度量
|
自动收集在审查花费时间、缺陷数据(缺陷密度,和缺陷数),可定制输出审计报告
|
|
|
有数据统计,但不可定制
|
8.邮件
|
无问题
|
|
|
ReivewBoard的Mail通知设置问题,公司采用SSL协议加密Mail, ReivewBoard仅支持TSL,在网上查了一下这两个协议应该是兼容的,但是设置后就是无法将Mail发送出去。
|
9.可定制的工作流程
|
可配置不同类型的审查规则。“自我检查”审查可能只要求看在他提交自己的文件。 “正式的”审查可能需要一个主持人,作家及多个审查者,并记录。可配置的角色让你可以注明每个人的期望检查和控制每个用户可以做什么和发表评论。每个用户在流程控制允许标记评论,也可以选择哪些事件将重新审查或审查相关通知更新。
|
|
|
不可定制工作流程
|
10.数据库支持
|
支持微软SQL Serve和Oracle数据库等。
|
|
支持三种数据库服务器:MySQL、PostgreSQL 、SQLite
|
|
11.其 它
|
|
中文的学习资料还比较少
|
|
中文的学习资料较少;
如果有代码是在Unix GBK环境下开发的,所有源代码文件都是以GBK编码格式存储。一旦提交了这些源文件的diff,在ReivewBoard中“View Diff”时看到的中文将全是乱码,更严重的是某些时候ReivewBoard显示的代码差异的位置与真实代码修改的位置不符合。
|
分享到:
相关推荐
基于Code_Collaborator和Review_board的代码审工具试用对比说明.pdf
轻量级代码评审工具,CodeCollaborator CodeCollaborator 是与 IBM® Rational Team Concert 工作流程相集成的唯一代码评审工具。它将源代码评审与聊天形式的协作集成起来,从而使开发员从联系注释与私人代码行的...
collaborator安装说明之前只有英文版,这是中文版的,比较详细。需要安装的朋友可以看看。
Screen-by-screen walk-through for the most popular peer code review tool on the market.
burp_collaborator_http_api A burp extender that let you use burp collaborator server within http api 一个让你可以通过HTTP API调用burp的collaborator服务器的插件 听说你想用cloudeye,而又没有注册码? 听说...
图像 使用 Burp Collaborator 的 Image Tragick 漏洞利用工具。
- Is the real collaborator a source of risk for the stability of my tests? - Is it difficult to initialize the real collaborator? - Is it possible to verify the state of the collaborator after ...
Laravel 是一个具有表现力、优雅语法的 Web 应用程序框架。 我们相信发展必须是一种... 出色的控制容器反转、富有表现力的迁移系统和紧密集成的单元测试支持为您提供了构建任何应用程序所需的工具。 官方文档 整个框架
$ add-collaborator repos 将协作者与存储库同步$ add-collaborator sync 一次都做$ add-collaborator repos sync 再次询问有关github身份验证和设置的问题$ add-collaborator repos sync -f 通过命令行提供标志以...
将 Outlook 的邮件、联系人、行事历及工作与 EVO Mail Server 同步透过 EVO Collaborator for Outlook 这套专属 Outlook Add-in,Outlook 不仅能与 EVO 进行 IMAP 电子邮件的同步,甚至还能将联系人、行事历及工作...
使用 Burp Collaborator 客户端来测试您是否可以诱导目标站点向可能被攻击者控制的任意服务器发出异步、带外请求。
通过Burp Collaborator提取DNS上的盲目的远程代码执行输出。 版本:2.0 作者: 从下载Collabfiltrator 要求: Burp Suite Professional 1.7.x或更高版本 支持: 支持的目标: 视窗 Linux 用法: 从下拉菜单中选择一...
EvoCollaboratorOutlook 来源 ... 直接找台湾去下载吧,不用在这里下载 作用 1. 探测可用的同步URL 2. 把 outlook 本地的日历或联系人同步到如 QQ 或 136 之类的 CalDAV CardDAV服务器上
您将不需要DNS服务器或公共IP,只需一台具有Sqlmap和Burp的计算机即可。 通常如何使用Sqlmap执行DNS渗透: 您设置了DNS服务器! 您在该服务器上运行Sqlmap,该服务器对易受攻击的目标执行一些SQL注入。 易受...
强大的Python测试框架加倍 [| | | | | | | 一个简单的例子 import unittest from doublex import Spy , assert_that , called ... a_method_that_call_the_collaborator () # then assert_that ( spy . some
使用“让我们加密SSL证书”安装私人Burp Collaborator的脚本。 应该在(Ubuntu 18.04)上工作: 带有或不带有弹性IP的Amazon AWS EC2 VM。 具有或不具有浮动IP的DigitalOcean VM。 天蓝色。 只要VM具有公共IP,...
用法 php index.php <username> <password> <branch> <collaborator>
网络音频合作者 完整的WAC演示页面,减去WebRTC样板。
Handy Collaborator是Burp Suite扩展,可让您在手动测试过程中以舒适的方式使用Collaborator工具。 可以从可编辑选项卡(中继器,拦截等)的上下文菜单中生成协作者有效负载,并且一个单独的线程将定期检查协作者...
合作者 BurpSuite标准/私人协作者库