首页 > 代码库 > 构建之法之结对编程

构建之法之结对编程

1.什么是结对编程?

结对编程是极限编程这一思想的具体体现。结对编程有三种形式:

a.键盘鼠标式;

b.Ping-pong式(这种是采用TDD(测试驱动开发)时常用的方式,A测试,B实现和重构,然后B写下一个测试,A来实现和重构。);

c.领航员—驾驶员式(领航员的注意力放在如何实现宏观目标,以及Review驾驶员的代码。驾驶员编辑代码,关注的是短期目标,代码细节。);

常用的是Ping-pong式和领航员-驾驶员式。(下面都以领航员-驾驶员模式为例子。)

2.为什么要结对编程?

a.减少犯错。因为在结对编程的过程中有随时的复审和交流;

b.提高解决问题的效率。在开发层次,结对编程能提供更好的设计质量和代码质量,合作解决问题的能力增强;

c.知识传递。在结对工作的时候,开发人员可以互相交流,互相学习,提高;

d.取得更高的投入产出比。好的结对编程效率高,错误少,有效的交流,大大提高了编程的质量,增加了公司效益;

3.如何做到好的结对编程?

a.遵守相同的代码规范 ;

b.不同的阶段(萌芽阶段,磨合阶段,规范阶段,创造阶段,解体阶段),不同的人(新手和老手,同性之间,异性之间,外向型和内向型... ...)要有不同的方式;

c.养成个人良好的生活习惯;

4.结对编程的缺点是什么呢?

  结对编程并不是适合所有的项目,对于那些处于探索阶段的项目,技术含量不高的项目... ...。对于领航员-驾驶员模式来说,最重要的是发挥“领航员”的作用,如果作用不大,也就无需结对。

 

构建之法之结对编程