在《构建之法》第4章中,提及最多的就是“结对编程”了,为什么要“结对编程”呢?为什么这两个人不各自做各自的事情呢?这样就可以同时做两件事了,从某种意义上取得了双倍的效率,为什么不呢?
你没猜错,我就只能提问题,至于解决问题,这个还是从书中捕获答案吧。
在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写文档等。
每人在各自独立设计、实现软件的过程中不免要犯这样那样地错误。在结对编程中,因为有随时地复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高地那一位。这样,程序中的错误就会少得多,程序的初始质量会高很多,这样会剩下很多以后修改、测试的时间。
两人合作的期间其实也分为好几次阶段:
1.萌芽阶段
2.磨合阶段
3.规范阶段
4.创造阶段
5.解体阶段
而且在两人的合作中,影响是相互的,更使得这份合作更加高难度。