极限编程 (XP)向大多数人介绍了配对编程。
从理论上讲,越早对代码进行审查 , 审查就越有效 -那么如果立即进行审查,您的效率会提高多少?
结对编程可将生产率提高3%,将质量提高5% 这样做不是更好的原因,是因为两个人被用来产生单个结果,所以效率不是很高。 有关边际生产率的更多信息,请参阅Capers Jones 1 。
但是,作为团队建设工具,结对编程在保持高生产率的特定情况下非常有效:
- 培训新的团队成员编码惯例
- 分享个人生产力技术
- 处理复杂的代码部分
新团队成员
第一个问题是不言自明的,结对编程使您可以在进行实际项目时解释编码约定。
它还使您可以很好地了解该团队成员如何与小组合作。
关键是新成员每天都要与其他人配对程序,直到他们与整个团队合作为止。 这将加速新成员的集成,并使每个人彼此熟悉。
分享生产力实践
令人惊讶的是,不仅是经验不足的程序员,还是从经验丰富的程序员那里学习。 通常,更有经验的程序员会养成他们甚至不知道的习惯。
与较新的程序员一起工作会使您接触到您不了解的IDE和新的生产力工具的信息。
尽我们所能,不断有新事物涌现,而新的程序员也意识到了这一点。
此外,还有一些我们都养成的次优习惯,而不再注意到,因为我们一直都这样做。
处理复杂的代码
计划了一段复杂的代码后,将那部分代码成对构建将非常有帮助。 有关计划复杂代码的信息,请参见:
计划是工作的1/2,确保您实施计划经常需要两个人来确保所有松散的方面(例外,边界情况等)都得到了照顾。
尤其是,这些部分是您希望两眼关注的代码部分,因为您更有可能识别出遗漏的替代项或在怪异的条件下工作。
摘要
如果使用得当,结对编程可以成为将新成员集成到团队中,共享生产力技术,减少缺陷并提高代码困难部分质量的绝佳工具。
参考文献
- 琼斯(Jones),刺山柑(Capers)和邦尼古(Bonsignour),奥利维尔(Olivier)。 软件质量经济学 。 艾迪生·韦斯利(Addison Wesley)。 2011年
- 琼斯,雀跃。 评分和评估软件方法,实践和结果 。 2008。
翻译自: https://www.javacodegeeks.com/2014/11/pair-programming-for-team-building.html