首页  编辑  

结对编程

Tags: /超级猛料/Software.软件工程/项目管理/   Date Created:
   如果我们不懂对方在说什么,最好的办法就是让他举个例子。这是沟通(也是结对编程中)最重要的方法。
   有经验的开发人员,有时候还是可以从年青的开发人员上学到一些东西。
   交流设计的最好方法是边看代码边解释。如果还没有代码,就用图表。
   在结对编程里,一起设计是主要活动之一。除此,一起测试、一起查错也是另两个主要活动。
   在结对编程里,有着不同的知识/技能的人可以把他们的技能共享来解决一个困难的问题。经常可以交流知识和好的实践经验。开发人员会比较开心,做事也比较有信心。
   如果我们不能明白另一个人的设计意图,那最好的方法就是,写代码。让比较不明白的那个人来写。
   即使一个人在某一方面很擅长,另一个人还是有空间做一些有意义的贡献的。有经验不代表每次都能更快找到错误。每个人都可能擅长找某一方面的问题,而不擅长于其他方面的。幸运的是,两个人的"盲区"通常不会重叠。
   一起写代码也是结对编程的主要活动。
   因为结对编程两人的精力都会很集中,精神容易紧张,所以经常的休息开发效率才会更高。
   在这次结对编程以后,两个人对代码和业务都更熟悉了。如果他们中有人要去休假或者离开公司的话,另一个也可以维护。也就是说,结对编程可以减少职工离职对公司的损失。
   经常地换搭档是好事(特别是在一个新任务的开始阶段)。现在其中一个可以继续把他懂的东西教给第三个人,同时也能从第三个人身上学到另外一些。
   结对编程的好处:
   1,联合两人的知识去对付一个难题。
   2,知识互相传递。
   3,更有效的差错跟纠错。
   4,程序员都很开心。
   5,减少员工离职的损失。
   结对编程需要的一些技能:
   1,用代码解释已有的设计结构。
   2,用例子来解释。
   3,用图表来解释设计思路。
   4,如果你无法把你的设计思路表达清楚,把代码写出来。
   5,让比较迷惑的搭档来写代码,这样他就可以较好地融入你的概念。
   6,经常地休息。
   7,经常地更换搭档。
   研究表明,在一个大学的环境里,让两个人做一件事情,花费的时间比两个人分工所需的时间多15%。也就是说,我们没必要加倍。所以一方面来讲,结对编程有很大的好处,但同时也要多花费15%的开发时间。但研究还表明,结对编程开发出来的软件,bug的数量比分工开发出来的少不止15%。单人修复bug所花的时间,是结对的人所花时间的15-60倍。很明显,结对编程远远抵消了那多费的15%的开发时间。
   结对编程不是万灵的。因为它需要两个人不断地沟通,一起做决定,如果不能沟通或者做不了决定的话,结对编程就行不通了。下面是常见的问题,会造成结对编程无法正常工作:
   1,不情愿的配合。
   2,拒绝别人的意见,甚至攻击对方。
   3,小心翼翼有意见不敢提。
   4,怕别人觉得自己笨不敢问问题。