听说过没见过,结对编程到底是什么?

在很久很久之前就听过结对编程,只知道这是一种编程方式,不清楚到底是怎么玩的。今天没事就好好研究了一下,原来结对编程就是:


两个人在同一个电脑上编程,一个人A编写代码,另一个人B检查A写的每一行代码。相当于实时进行code review,这样的效率比较高,有什么问题很快就能发现,编写出来的代码质量比较高。

结对编程就像下面这张图:

编程兄弟

三人组团编程

那组队编程具体有哪些好处呢?


互相鼓励,不容易沮丧:团队工作能增加成员的工作积极性。因为在面对问题的时候,会有人一起分担,共同尝试新的策略。互相监督,不容易偷懒:两个人一起工作需要互相配合,如果想偷懒去干别的,就会拖延工作进度。互相学习编程技巧:在编程中,相互讨论,可以更快更有效地解决问题,互相请教对方,可以得到能力上的互补。可以培养和训练新人:让资深开发者和新手一起工作,可以让新人更快上手。多双眼睛,少点 bug:两人互相监督工作,可以增强代码和产品质量,并有效的减少 BUG。


结对编程的坏处有哪些呢?


两个人做一份工作明显的提升了工资成本。两个人合作需要考虑到对方的感受,脾气不好的人可能引发冲突。两个人如果一起划水。。。


你有没见过哪个公司在执行结对编程呢?欢迎你和我交流~