11项针对轻量级高效同行代码评审-1
上一篇 / 下一篇 2012-08-23 09:37:37 / 个人分类:杂谈
简介:这 11 项针对轻量级高效同行代码评审最佳实践被证明是有效的,它们建立在一个通过结合使用IBM?RationalTeam Concert? 与 SmartBear CodeCollaborator 对 Cisco 系统的开发进行案例研究的基础之上。它们可以帮助您确保评审既能够改进您的代码,又能利用好开发人员的时间。
&TsW"Y*N@1q*n0Uc!hB+~(q$MC0 SmartBear Software 团队?花费了数年时间去搜索已有的代码评审研究成果,并从来自超过 100 家公司的 6000 多名程序员那里,收集了“实践经验”。很显然,人们在评审代码时会发现一些错误(bug),但是这种评审工作通 常会花费大量的时间,因此变得不太实际。我们通过数十年的经验使用获得的信息,来创建轻量级代码评审的概念。通过使用轻量级代码评审技术,开发员只需要花 费五分之一的时间就可以进行全面且规范的代码评审工作了。我们还开发了最佳实践的理论,以便部署实现评审的效率与价值。本文概括了以下的这些实践。
{9~-zVu0C2S,I-H/L+`D0 为了测试我 们对代码评审及轻量级评审的结论,我们对代码评审进行了最大规模的研究工作。它涉及包含了2500 个代码评审案例,50 个程序员,及 Cisco 系统上320 万行的代码。在 10 个月的时间内,研究追踪了 MeetingPlace 产品团队,该团队拥有 Bangalore,Budapest 及 San José 方面的成员。
(d*n ^z,G8Nqd0M ^p$sp4_2q2Vl+u0 在研究开始时,我们要为这个团队创建以下的规则:51Testing软件测试网e\)sfH
51Testing软件测试网{7A?/z%k*E在检入到团队的版本控制软件之前,所有的代码都必须进行评审。51Testing软件测试网`u(I|CI~
YQ`e1Y'[v@0 SmartBear 的 CodeCollaborator?代码评审软件工具,应该用于精化,组织和改进所有的代码评审工作。51Testing软件测试网.zd \$`9k7B
51Testing软件测试网*X@%P5p#j8T5k2rF代码评审的全体会议是不支持的。51Testing软件测试网&`$Y*] MZ
51Testing软件测试网A5ZX$F^ Q+[kF.g评审过程会得到工具的支持。51Testing软件测试网 zcDwI
m$bnbM?"~ nH,z rm0 CodeCollaborator 会自动收集工具,提供评审层次和总结层次的报告。
:~9X6N4G)p/S?t"^ O05QG*JH#q h9w0 根据我们的研究结果,总结了 11 项最佳实践51Testing软件测试网e;`[Ag2T
51Testing软件测试网V5[;O^;O$Z您应该警惕,平等代码评审(在该过程中,软件发布以确保质量之前,软件开发员会相互评审代码)会识别代码中存在的错误(bug),鼓励协作,并使代码变得更有维护性。51Testing软件测试网p+~(l3V6Ev Bv
r*?8r~0Q'{)]M,lF0 但是很明显的一点是,有些代码评审技术是低效低能的。评审过程中的一些会议会占用时间,并抑制活力。严格的流程会扼杀创造力,但是松散的流程又意味着没人知道评审是否有效,甚至是否发生。而个人批评的社会效应,又会损伤士气。51Testing软件测试网+FEHd6M8N
51Testing软件测试网o/vH#Vab"eT%D&DY本文描述了考虑效率时的 11 项最佳实践,科学研究和 SmartBear 领域内的经验证明轻量级同行评审是高效的。使用这些技术,可以确保代码评审能够改进代码 – 而不用占用开发员的时间。您可以使用最近的技术,来在 IBM? Rational Team Concert? 环境之中评审代码。
J5r)q1o(sG0