什么是结对编程?

时间:2009-03-30 09:34:53

标签: pair-programming

这个词在英语社区中似乎很常用。我好奇它是什么?是两个学生一起在一台PC上编码还是什么?这个组织(不管它是什么)只在美国使用吗?

5 个答案:

答案 0 :(得分:12)

结对编程是极限编程(XP)的主要实践之一。它确实意味着两个人在一台计算机上工作,通常一个在键盘上(通常称为驱动程序)和一个伙伴(称为乘客或霰弹枪)。它被誉为提高生产力和生成代码的质量,以及强制代码的组所有权 - XP的另一个目标。

答案 1 :(得分:6)

http://en.wikipedia.org/wiki/Pair_programming

  

结对编程是一种软件开发技术,其中两个程序员在一个键盘上一起工作。一种类型的代码,而另一种类型在输入时检查每行代码。键入的人称为驱动程序。审核代码的人称为观察者1或导航器。两位程序员经常切换角色(可能每30分钟一次)。

     

在审查时,观察员还会考虑工作的战略方向,提出改进的想法以及可能要解决的未来问题。这使得驾驶员可以将所有注意力集中在完成当前任务的“战术”方面,使用观察者作为安全网和指南。

答案 2 :(得分:5)

如有疑问,请咨询维基百科:Pair Programming。一般的想法是让一个人编写代码,而另一个人扫描错误和凝聚力。

答案 3 :(得分:1)

Test Driven Development的从业者有时使用的结对编程的扩展名为Ping Pong Pairing

Ping Pong Pairing的工作方式如下:

  • 编写失败的测试(开发人员A)
  • 实现使测试通过的代码(可选)Refactor(开发人员B)
  • 编写失败的测试(开发人员B)
  • 实现使测试通过的代码(可选)Refactor(开发人员A)
  • 等......

Ping Pong Pairing的一个好处是,任何开发人员都很难长时间睡觉; - )

答案 4 :(得分:1)

配对编程是指两个开发人员在共享一台计算机和键盘的同一故事卡上工作。它被认为是一种极端的编程实践。极限编程需要积极的东西,在这种情况下是代码审查,并将其发挥到极致。连续代码审查之外的好处如下:

  • 提高质量:在同一故事卡上工作的一对活跃程序员将完成卡片的缺陷更少
  • 提高生产力:如果在解决问题时没有完全阻止,则一对不太可能减速。此外,当您与合作伙伴合作时,更难以接受电子邮件或网络假期......您不想让合作伙伴失望。您将以更简洁的设计解决问题,并在成对工作时减少代码行数
  • 消除知识孤岛:通过轮换对,您将学习整个团队的应用程序和域业务知识。由于Sue在度假时没有其他人知道她的代码,所以团队不太可能被阻止。
  • 知识转移:轮换对在他们协同工作时互相教授新技能(工程和域名)。每个人的团队水平都会提高,知识会通过团队传播。
  • 团队自我选择:团队学习一个花药的技能,并迅速淘汰一些没有表现的人。