结对编程来自于极端编程XP,是它的十二个最佳实践之一。顾名思义,结对编程就是两个程序员坐在一起,结对进行代码开发。在采用结对编程实践时,不同的团队形式各异。有的是分工明确型,有的是共同合作型。
下面是一些结对编程的优点:
- 程序员互相帮助,互相教对方,可以得到能力上的互补。
- 增强代码和产品质量,并有效的减少BUG。
- 降低学习成本。一边编程,一边共享知识和经验,有效地在实践中进行学习。
当然,结队编程也会有一些不好的地方:
- 对于有不同习惯的编程人员,可以在起工作会产生麻烦,甚至矛盾。
- 有时候,程序员们会对一个问题各执己见,争吵不休,反而产生重大内耗。
- 结对编程可能让程序员们相互学习得更快。有些时候,学习对方的长外,可能会和程序员们在起滋生不良气氛一样快。比如,合伙应付工作,敷衍项目。
- 有经验的人更喜欢单兵作战,找个人来站在他背后看着他可能会让他感到非常的不爽,最终导致编程时受到情绪影响,反而出现反作用。
是否使用结对编程,需要具体问题具体分析,不可盲目。任何事手都有它的好与坏,结对编程也不例外,只有知道了好与坏,才能更好的利用它。