结对编程是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一人负责编写代码,另一人负责审查和提出建议。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两人不断交换角色,以确保双方都参与到代码的编写和审查过程中。
结对编程有助于团队成员之间更紧密地合作,共同解决问题,并加速知识传递。由于人的思维速度是快于输入代码的速度的。那么观看的人可以有空闲的时间做额外的思考,观察代码写的有没有问题,结构有没有问题。
两个程序员具有相同的缺点和盲点的可能性很小,所以当我们采用结对编程的时候可以避免单一开发人员的盲点和错误,获得一个强大的解决方案。。而这个解决方案恰恰是其它软件工程方法学中所没有的。