探索结对编程(2)
作者:佚名; 更新时间:2014-12-05

  
  3 结对编程遇到的问题
  
  结对确实能给工作带来质的飞跃,但是通过结对实践,它也会带来一些新的问题。
  3.1 由于人员的变动,来了新成员
  在这种情况下,前期确实会对其搭档产生一定的影响,但是磨刀不误砍柴工,通过结队编程,可以最快的使新成员进入状态,信捷职称论文写作发表网,通过后期的高效完全可以弥补前期的消极影响。
  3.2 后面坐着的人跟不上写代码的人的思路,写代码的人要不断对其讲解
  结队编程不仅仅只是一起写代码,在写代码之前也需要一起对需求进行探讨,一起讨论设计方案,达成共识之后才再一起写测试用例,一起编码,一起测试。如果出现跟不上的情况,那么赶紧停下来,需要讨论的时候到了。
  3.3 由于每个人有不同的习惯风格,坐在后面的人不习惯写代码人的代码风格
  这正是XP另一个关键实践的必要性:代码规范。在采用XP方法后,要求所有成员编写的代码都想出自于一个人之手写的,这样才能使代码本身就是设计,方便所有成员沟通维护。通过代码规范之后,也才使XP强调的另一个关键实践“代码共同拥有”成为有效。
  结对可以使两个人精神更加集中,可扩展思路以创造更简单,更严谨,更便于修改重构的代码,所以这正应对了项目时间紧的要求。因此结对编程确实是强度非常大的一件事情,所以XP强调40小时/周的另一实践。
  
  4 结对编程的几条准则
  
  用编码规范来支持结对编程:如果两个人整天把时间浪费在争论代码风格的问题上,那么结对编程就不可能发挥它的威力。应该尝试对风格进行标准化。
  不要让结对编程变成旁观:不掌握键盘的那个人应该主动参与到编程当中,他应该分析代码,提前思考接下来的代码应该做些什么,对设计进行评估,并对如何测试代码做出计划。
  有规律地对结对人员和分配的工作任务进行轮换:如同在其他的协同开发实践一样,结对编程的好处在于能够让不同的人熟悉系统的不同部分。有规律地进行轮换有助于知识的互相转播——有些专家建议尽可能经常进行人员轮换,甚至每天进行。
  鼓励双方跟上对方的步伐:要是其中一个人相对走得太快的话,那就会大大限制了其结对搭档的作用。速度太快的人需要放慢步伐。否则这对组合应当被拆开,然后和其他人重新组合。
  避免新手组合:两个人当中至少一个有结对经历时,结对编程的效果最好。
  Pair Programming有很大的优势,是获得XP最大价值的关键。没有Pair Programming,无法实现有效的Continuous Code Review,代码质量下降;没有Pair Programming,Communication很容易弱化,进而影响Team work。然而Pair Programming是XP所有的Practices中最被争议和被认为是最难接受。
  Pair Programming是个渐进的过程,有效率的Pair Programming不是一天就能做到的。Pair Programming是一个相互学习,相互磨合的一个渐进过程。 Developers需要时间来适应这种新的开发模式。刚开始的Pair Programming很可能不比Solo Programming有更高的效率。但适应后的Pairs的开发质量,开发时间都应该比Solo Programming有大幅度的改善。因此我们需要在不断实践中克服结对的一些不足,相信到最后一定能达到一个完美的结对方式。
  
  参考文献
  [1] 陈斐. 结对编程技术[M]. 北京:机械工业出版社,2004.
  [2] Laurie Williams,Robert Kessler,等. Pair Programming Illuminated[M]. 北京:机械工业出版社,2004.
  [3] William C. Wake. 探索极限编程XP系列丛书[M]. 北京:人民邮电出版社,2005.
  [4] Scott W Ambler. 敏捷建模—极限编程和统一过程的有效实践[M]. 北京:机械上业出版社,2003.
核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com