`
alanwu
  • 浏览: 198009 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

zz一个结对/代码检查过程的学习案例

阅读更多

一个结对/代码检查过程的学习案例

作者 Greg Young译者 张海龙 发布于 2007年8月8日 上午2时16分

社区
Architecture
主题
调试,
质量交付,
代码分析
维多利亚大学软件工程组的Peter C. Rigby 和Daniel M. German在Margaret-Anne Storey的指导下发布了一个Apache结对检查的学习案例,同时也将此文提交到了FSE2007。这篇文章是Peter和Daniel发布于2006年的、对Linux、GCC、Mozilla和Apache的代码检查过程进行分析的“开源项目代码检查过程的一个初步检测 ”一文的姊妹篇。

新的案例学习对象是Apache,目的是找出下面这些问题的答案:

  • 过程:都是在执行哪些检查?是由哪些过程指导这些检查的?
  • 频率和活动:检查的频率是多少?检查的频率是否与开发活动相关?
  • 参与:有多少开发人员参与检查?在一次检查中有多少讨论?
  • 尺寸:多大的构件才应该进行检查?
  • 间隔:多长时间执行一次检查?
  • 缺陷:有多少检查发现了缺陷? 

 在文章的答案里有两个在Apache项目使用并在Apache术语表中进行了定义的过程:CRT和RTC的检查过程:

提交后检查CTR,Commit-Then-Review):一个管理代码变化的策略,允许开发者随意更改代码,但允许后期否决。C-T-R是一种在延迟决策(lazy consensus)中得出决定的方案,此模型在快速原型开发环境中很有效,但由于缺乏强制检查,可能会导致比R-T-C更多的问题。
检查后提交RTC,Review-Then-Commit):提交策略,要求所有的改变得到一致性同意后方能被提交。

“一致性同意”表示要对某个做法进行投票,在结果中至少要有来自项目管理委员会(PMC)的三票赞成票,而且不能有反对票

在分析检查过程时有一个关于两种检查过程各自优弱点的讨论。与Apache不同的是,在商业开发环境中倾向于使用RTC过程处理代码检查(这常常都是和风险管理的一个基本思想联系在一起的:宁可丢掉变化,也比让坏的变化进入你的代码库好得多)。这种讨论可以为增加CTR在商业开发环境中的生存能力提供令人信服的证据。在目前缺少CTR过程相关数据的情况下,对该过程进行的讨论分析也非常重要。

 关于在多大的范围内进行分析检查,Apache(以及其它项目)使用“尽早检查、频繁检查”来表达,Apache尤其以强调“尽可能高频率地执行检查,更短的间隔,更小的构件尺寸”与Porter et al的发现形成对比。针对较小的构件对不同的检查方式进行权衡,这也是文中一个重要的讨论主题。

另一个关键性的讨论是主要围绕着调解缺陷进行的:

对于常规的检查来说,讨论的主题就是缺陷。一个好的仲裁人是不会允许参与检查的人讨论任何缺陷以外的事情的。开发者必须修复这些缺陷并向仲裁人报告。

相比之下Apache的方法则是这样的:

检查者对缺陷本身并不感兴趣,而是对是什么导致缺陷以及如何修复感兴趣。讨论的中心马上由“发现缺陷”转到“如何修改缺陷”上来了。

文章的结论是“理想的时间是:当一个缺陷被发现时再去寻找解决办法,因为所有的参与者都要明白这个问题从何而来”,从中还发现“传统检查是不受时间约束的”与Edward F. Weller的“从三年数据检查中得到的启示 ”中示例的具体对比。

虽然文中数据收集的方法有些问题,与Apache团队成员之间也缺乏互动,文章还是通过一些有趣的讨论来对照比较各种不同的检查方法,以说明无论是开源还是商业环境都需要建立一个检查方法。

查看英文原文:A case study of Apache peer/code review processes

分享到:
评论

相关推荐

    ZZ18000/25.5/50型四柱支撑掩护式支架的研制与应用

    介绍了ZZ18000/25.5/50型四柱支撑掩护式支架的主要技术参数、结构特点以及该支架作为快速搬家专用巷道支护支架在回撤巷道中的应用。该支架可实现对回撤巷道的提前支护,缩短了搬家倒面的时间,提高了综采设备的利用率...

    ZZ8500/20/40型液压支架中缸筒设计及工艺的改进

    针对ZZ8500/20/40型液压支架中缸筒设计不合理部分进行改进。分别列举了中缸筒按原设计和改进后设计进行加工的工艺过程,并对二者进行了比较。改进前设计加工工艺繁琐,费料费时,效率低;改进后省工省料,可降低成本,提高...

    ZZ13000/28/60重型液压支架井下整体快速搬运的研究

    在井下有限的条件下搬运特大、特重型设备将成为煤矿企业面临的一个共同难题。针对新型大采高液压支架ZZ13000/28/60在井下搬运过程中出现的诸多现场问题,进行分析研究,总结出一整套整体快速搬运重型液压支架的搬运...

    ZZ8200/22/45型四柱支撑掩护式液压支架研制与应用

    根据掌石沟煤业有限公司15号煤层的地质...分析了ZZ8200/22/45型四柱支撑掩护式液压支架的结构组成、适用范围和技术参数等,对支架的顶梁、底座、掩护梁进行了阐述。该支架的使用保证了较高的支护效率和人员生产安全。

    ZZ13000/28/60型液压支架稳定性研究

    通过对ZZ13000/28/60型液压支架结构的介绍,重点对四连杆机构力的纵向稳定性进行了分析,验证了液压支架四连杆结构的设计是合理的、正确的,能确保工作面的稳定性,为煤矿高效、安全生产提供重要的保障。

    ZZ5900/14/28型液压支架设计探讨

    介绍了大同青磁窑煤矿ZZ5900/14/28型支撑掩护式液压支架的设计过程、设计内容、创新点、社会效益及总体性能指标与国内外的比较,特别是对该支架在焊接性能、材质选用、工艺选择方面进行了详尽的叙述。

    ZZ6400/22/45型液压支架的选型及支护强度验算

    综采工作面液压支架架型是否与工作面煤层...根据丁集煤矿1121(3)回采工作面地质条件,选用ZZ6400/22/45型液压支架。为验证液压支架的支护强度,对其进行支护强度验算,验算结果表明,所选支架的支护强度满足顶板压力要求。

    综采面回撤三角区ZZ7200/18/36型支架电液系统设计

    为了提高综采工作面的搬家速度和工效,研制了回撤三角区ZZ7200/18/36型支架。介绍了支架布置情况和使用特点,重点说明了其技术参数、电液控制系统特点及组成。实践证明该支架的使用,取得了显著的经济效益。

    ZZ9000/23/48型液压支架柱窝铸造工艺的优化

    潞安机械公司在ZZ9000/23/48型液压支架柱窝铸件实际生产过程中,由于传统工艺的局限,柱窝铸件冒口处无法得到有效补缩,导致柱窝在切割冒口后发现十字结构热节处存在严重的缩孔缺陷,直接导致铸件报废,无法使用。...

    ZZ3200/11/21型液压支架改造

    ZZ3200/11/21型液压支架投用后,由于盘江支护条件的改变顶梁护帮板结构不能适应盘江煤层条件,液压系统反冲洗过滤器通液孔径很小,对水质要求极高,容易堵塞,致使支架无法正常工作,原ZZ3200/11/21型液压系统是本架操纵...

    ZZ10800/22/45液压支架强度及疲劳分析

    将偏载工况下液压支架的三维几何模型导入到有限元分析软件中进行静力学结构分析,得出整架的应力分布规律。通过Fatigue模块,分析得到整架的疲劳寿命、疲劳损伤和疲劳安全系数,这样不仅为液压支架轻量化设计提供理论...

    ZZ8800/25/50型液压支架立柱强度计算

    以某矿用280型双伸缩立柱拟定的各个技术参数为基础,通过建立二维模型,根据双伸缩立柱的结构特点,通过对壁厚、稳定性和活塞杆强度的计算验证技术参数能否满足使用要求。计算结果表明:计算方法合理,该型号双伸缩立柱...

    ZZ6000/17/32型支撑掩护式液压支架设计

    根据晋城长平公司王台铺煤矿的煤层赋存情况以及与煤层相关的围岩条件进行支架的选型计算,并针对15号煤层工作面顶板坚硬稳定、底板极软的地质特点,确定液压支架的具体结构,设计ZZ6000/17/32型支撑掩护式液压支架。

    ZZ9900/29.5/50型支架护帮装置限压阀板的改进

    对ZZ9900/29.5/50型支撑掩护式大采高液压支架护帮装置限压控制系统限压阀板存在的缺陷进行了分析、改进。

    base zz zz zz zz

    base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz

    ZZ2-8/100型钻装机液压系统设计

    介绍了ZZ2-8/100型钻装机的结构组成及功能,针对其功能要求,设计了钻装机的液压系统,阐述了该液压系统中泵站、控制回路、行走回路、扒装回路和左/右钻臂回路的工作过程。实践表明该液压系统具有功能互锁、防卡钎、...

    ZZ2-8/100型钻装机凿岩与耙装干涉问题研究

    针对ZZ2-8/100型钻装机凿岩和耙装时相互干涉的情况,通过对左右钻臂和耙臂运动轨迹的分析计算,绘制出双臂凿岩范围和耙臂的耙装区域范围,找出了左右钻臂同时工作时的干涉区域和钻装机凿岩时的纯干涉区域,并以大宝鼎矿+...

    ZZ2-8/100型钻装机工业试验情况分析

    总结了ZZ2-8/100型钻装机在攀煤集团大宝鼎煤矿+1220 m水平南翼运输巷的工业试验情况,对试验中钻装机凿岩、扒装及排矸等工作情况进行了介绍,并对试验中暴露的问题进行了分析,为钻装机的改进设计以及煤矿岩巷机械化...

    BC480/22/42支撑掩护式液压支架的改造

    已造成相当数量的结构件变形,影响了支架的整体稳定性,目前支架的状况已不能满足煤矿安全生产要求,全部报废会造成资源的极大浪费,通过对该支架进行改造,使整体性能超过原BC480/22/42支架,整机性能和ZZ5200/19.5/4支架...

Global site tag (gtag.js) - Google Analytics