结对编程技术是一个非常简单和直观的概念:两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计。
好处:
更好的想法——持续不断的头脑风暴和思维碰撞、更大的知识库、有更多的脑力解决设计问题;
更好的质量——更少的漏洞、想法的即时认证、始终如一的方法;
更全面的认识——经验共享与知识共享、对于为什么做、怎么做和做什么有更深入的理解;
更高的生产率——更好地集中精力及更高的工作强度、彼此促进并激励来达到最好的结果、更少的拖延和时间浪费,结对的时候哪里好意思去登录人人和围脖!
弊端:
双倍的人力消耗——这意味着如果编程效率不能达到2*max(参与者1效率,参与者2效率),则单纯从产出上来看是亏本的;
花费时间在处理人-人关系而非处理代码问题上——同样是巨大的成本。