结对编程采用两人一组,两人共同使用同一个键盘和显示器,在同一个工作空间中进行开发。两人的工作方式类似赛车中的驾驶员和领航员,共同开展同一项任务。是一种敏捷软件开发的方法。
结对编程要求两个开发人员客观上水平相当,主观上保持积极参与的心态,相互配合,从而高质量地完成编码任务,避免由于思考不周或编码手误而导致的缺陷。再如,测试驱动开发采用测试先行的思想,采用简单原则确定接口,然后编写测试用例,再编写业务代码并对代码进行重构,逐步完善业务代码的功能,并保持测试用例能够通过。一个人负责编写代码,另一个人人负责审查代码。