结对编程(Pair programming)来自于极端编程XP(eXtreme Programming),是它的十二个最佳实践之一。顾名思义,结对编程就是两个程序员坐在一起,结对进行代码开发。在极限编程中,所有的软件产品都是由两个程序员并排坐在一起,在同一台机器上共同完成的。
结对编程的两种形式
在采用结对编程实践时,不同的团队形式各异。有的是分工明确型,一个人负责编写代码,另外一个人审查代码,负责代码的正确性和可读性;还有一个人负责详细设计,一个人负责代码实现;或者一个写功能代码,一个人写测试用例。有的是共同合作型,两个人共同讨论关于所开发功能的架构设计、编码实现、测试方法、代码风格等,然后轮流做输入和观察的工作。
结对编程的特点
从项目角度,提高了产品质量
结对编程时,两个人共同完成一个功能,可以避免个人的误区存在,通常个人的想法难免有局限性,自己看自己写的代码总是觉得怎么都对。每个人站在不同的角度能够看到彼此的误差。还有通过结对,代码至少有一个程序员进行了审查,这样可以让设计、测试和编码更加友好,减少了缺陷,从而提高了产品质量。
另外,结对的形式也保证了一个功能至少两个人知道,互为形成backup,不会出现一个人请假或者离职,后续无人知的情形。有的公司还会定期更换结对的人,这样可以让团队的成员都能熟悉到项目的各个功能模块,形成项目集体所有和负责的氛围,避免了一人责任制,自扫门前雪的现象,也可以让团队成员快速的熟悉业务。
从团队角度,更好的实现了知识传递和分享,让成员关系更融洽
不可否认,结对这种面对面的沟通交流方式,对于知识和技能的传递是最好的形式。同时,这种即时的沟通交流也让同事之间关系变得融洽,相对比那种每个人一个格子间闷头写代码,更利于创建和谐的团队氛围。根据“乔哈里视窗(沟通视窗)”的理论,在实际工作的人际交往中,共同的开放区越多,沟通起来也就越便利,越不易产生误会。当我们向别人扩大我们的公开象限时,就会更多的和对方建立良好的关系,结对编程就是很好的一种形式。
从个人角度,提高了个人的能力,提升了效率
在结对合作的时候,每个人不仅会从对方那里学到新的知识和技能,还能受到对方的工作方式和处世态度的影响。尺有所短,寸有所长,每个人都有自己的优点和长处,值得被学习和尊重。当团队中的每个人的能力提高了,其实就是整个团队能力的提高。
工作效率上,结对编程让大家更专注在工作上,个人的一些工作外的活动将不会进行。每个人都有自己要负责的任务,两个人其实形成了一个互相监督,共同进步的小团队,为了团队任务的完成,两个人都会专注在自己的任务上,这样就提高了输出的效率。
标签:结对,每个,代码,编程,团队,负责 From: https://www.cnblogs.com/ysfxt/p/17241928.html