结对编程(pair programming),理学-计算机科学技术-计算机软件-软件语言与方法-软件方法学-敏捷方法,两个程序员在一台计算机(一个屏幕、一个键盘和鼠标)上共同工作,是敏捷软件开发中的一种实践。结对编程的思想在20世纪90年代提出,作为极限编程的一种实践随着敏捷软件开发的流行而广为人知。使用键盘和鼠标进行具体工作的人称为“驾驶员”,另一位关注整体工作策略性思考的程序员称为“观察员”。在极限编程中鼓励程序员在分析、设计和测试时也进行结对编程。针对结对编程的讨论通常集中在成本和收益方面。虽然结对编程通常比一个程序员单独工作能更快地完成,但是团队整体编程时间会增加。也有人认为结对编程可以提高程序质量,从长期来看,更好的程序质量可以减少调试和测试实践,从而缩短整体工作量。但不同的项目和团队情况不同,对于那些高复杂度、高难度的项目,结对编程较有帮助。通常认为,结对编程的好处有:改善代码质量;在团队内有效扩散知识;提高团队成员技能;降低团队整体交流的沟通负担。