结对编程是软件开发过程中所使用的一种技术,两名程序开发人员共享同一台工作站。其中一个扮演驾驶者(Driver)的角色,进行代码编写,另一个扮演观察员(Observer)或导航员(Navigator)的角色,对代码进行评测。他们可以轮流编写代码和测试案例,还可以坐在一起交流思想,解决问题,而不会想偷懒去刷手机。

结对编程的概念已经存在很长一段时间,已经有许多公司认同这种编程方式,但也有许多公司表示他们不考虑采用。结对编程需要花费的时间可能比个人编程更长,但产生的 bug 比个人编程少;它需要公司付出多一倍的人力,但编程的效率会比个人编程高。这是一个比较有争议的编程方式,不同公司的需求不同,对结对编程的看法就不一样。

国外有位开发者 Sam Harris 对结对编程的利弊做出了客观的总结分析,总结内容如下:

结对编程的好处

1、互相鼓励,不容易沮丧:团队工作能增加成员的工作积极性。因为在面对问题的时候,会有人一起分担,共同尝试新的策略。

2、互相监督,不容易偷懒:两个人一起工作需要互相配合,如果想偷懒去干别的,就会拖延工作进度。

3、互相学习编程技巧:在编程中,相互讨论,可以更快更有效地解决问题,互相请教对方,可以得到能力上的互补。

4、可以培养和训练新人:让资深开发者和新手一起工作,可以让新人更快上手。

5、多双眼睛,少点 bug:两人互相监督工作,可以增强代码和产品质量,并有效的减少 BUG。

结对编程的坏处

1、与合不来的人一起编程容易发生争执,不利于团队和谐。

2、经验丰富的老手可能会对新手产生不满的情绪。

3、一山不容二虎,开发者之间可能就某一问题发生分歧,产生矛盾,造成不必要的内耗。

4、开发人员可能会在工作时交谈一些与工作无关的事,分散注意力,造成效率低下。

等等……

因此,是否采用结对编程需要根据公司的情况进行定夺。并且,结对编程的时间需要合理安排,时间太长(8 小时及以上)容易产生疲劳,时间太短(低于 1 小时)都没进入工作状态。

余下全文(1/3)

本文最初发表在oschina,文章内容属作者个人观点,不代表本站立场。

分享这篇文章:

请关注我们:

发表评论

电子邮件地址不会被公开。 必填项已用*标注