代码大全学习-24-合作开发(Collaborative Construction)

    这一章介绍了合作开发的一些常用方法。所有的合作开发都基于这样一个前提,即任何开发人员都有自己的盲点,大家的盲点不一样,所以合作起来就可以减少盲点,也就减少了开发缺陷出现的几率。合作开发的方法有很多,结对编程,正式审查(Formal Inspections),非正式审阅,读代码,读文档,几个人讨论等等,形式多样,不必拘泥。作者在书中重点讲了前面两种。
    结对编程相信大家就算没用过也至少有所耳闻。方法很简单,两个人一组,一个写代码,一个在旁边看。看不是简单的看看就完了,要主动分析代码有没有写错,功能是否正确,是不是我们想要的代码,设计对不对,接下来要写什么,怎么测试等等。两个人可以轮流着写和看。这种方法可以提高代码的质量,因为写的时候有人看,会尽量写好,出错了也会有人及时指出。所以总体来说会减少缺陷出现的几率,从而提高效率。当然凡事没有绝对,也不是所有的情形都要用结对编程,有些很简单或者很复杂的情况可以考虑其他的方法。这里附上一个checklist可以在运用这种方法的时候参考。
Checklist: Effective Pair Programming
 Do you have a coding standard to support pair programming that's focused on programming rather than on philosophical coding-style discussions?
 Are both partners participating actively?
 Are you avoiding pair programming everything, instead selecting the assignments that will really benefit from pair programming?
 Are you rotating pair assignments and work assignments regularly?
 Are the pairs well matched in terms of pace and personality?
 Is there a team leader to act as the focal point for management and other people outside the project?
    正式审查在发现缺陷上是比测试更经济的一种方法,在IBM使用多年,后来公开出来。其目的主要是发现缺陷,而不是改正缺陷。它是由开发人员来做的,而不是测试人员。其步骤比较多,大体上有计划准备,开审查会议,出审查报告,后期追踪几个部分。过程中会把参与的人赋予各个角色,协调员,作者,审查人,记录人等。需要注意的一点是这应该是一个纯技术的探讨,不要把老板扯进来,也不要根据审查结果来算绩效。具体方法还是参考原书吧,这里附上一个checklist供参考。
Checklist: Effective Inspections
 Do you have checklists that focus reviewer attention on areas that have been problems in the past?
 Is the emphasis on defect detection rather than correction?
 Are inspectors given enough time to prepare before the inspection meeting, and is each one prepared?
 Does each participant have a distinct role to play?
 Does the meeting move at a productive rate?
 Is the meeting limited to two hours?
 Has the moderator received specific training in conducting inspections?
 Is data about error types collected at each inspection so that you can tailor future checklists to your organization?
 Is data about preparation and inspection rates collected so that you can optimize future preparation and inspections?
 Are the action items assigned at each inspection followed up, either personally by the moderator or with a re-inspection?
 Does management understand that it should not attend inspection meetings?
发布了63 篇原创文章 · 获赞 16 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/tyst08/article/details/7934287
今日推荐