结对编程:是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。
结对编程适用于规模小的,小型项目,时间紧,需求变化多,质量要求高的项目。
绝对编程的好处:能够同一个算法、同一段代码或同一组测试、与两位程序员各自独立工作相比.结对编程往往只需花费大约一半的时间就能编写出质量更高的代码。结对编程还有利于团队的沟通与合作。还可以进行直接的、连续的代码回顾。还有与别人工作时会增加责任和纪律性;一个团队的人能同时理解一个问题;队员也能从中学到新的知识等等的一系列好处。
结对编程的缺点:结对编程不适合适用在规模大的项目,需求变化少,时间充足的项目,有时候结对编程也会带来效率低的问题。对团队成员的技术水平有要求。