《构建之法》第四章读后感
本周开展了一次结对编程,即两个人共同开发一个项目,因此我抽出些许时间来看看结对编程的好处,并结合自身体验谈谈感受。
结对编程的好处
①提高设计质量和代码质量
因为每个人思考的方向或者模式不一样,在对设计的规划上总有自己的独到之处。如果能够把两个人的思想结合起来,往往能够弥补一个人思考时的不足之处,这样就产生了更优的设计,减轻了编写代码的压力,从而间接提高了代码质量。另外,在实际码代码的过程中,结对编程也有诸多优势:
敲出的代码被两个人看过,产生bug的几率降低了;
写出的代码要被队友看到,所以会刻意写得更规范些,这有利于良好书写风格的养成;
调试的时候更容易发现问题所在,因为一个人可能存在思维定式,而两个人就不会有太多思维的死角;
遇到难以解决的问题时,两个人查资料的速度比一个人快,这是理所当然的。
②既是合作也是个人的提高
在结对编程的过程中,总存在开发效率低而问题频现的低谷期,这时如果两个人能积极影响对方,就很容易渡劫。例如,当我解决一个问题花了很大功夫却没有丝毫进展,有些想放弃时,我的队友却仍在努力寻求解决方案,那么我也不好意思松懈下来。可见,两人结对编程是能够互相鼓舞的。
同时,一份代码由两个人共同完成,这就意味着A写的内容将毫无保留的呈现给B,B写的内容A也全部看得到,这就提供了互相学习的机会。我们可以将自己的代码与对方写的部分进行对比,无论是风格、思路还是方法都可能有值得学习或借鉴的地方,久而久之,自己的水平便得到了提高。尤其是当对方产生了一个新的想法,你可能也会受到刺激而提出一个更好的观点,这都是学习和进步的过程。有句话说得好,你有一个苹果,我也有一个苹果,我们交换一下,结果每人还是只有一个苹果;你有一种思想,我也有一种思想,我们交换一下,每人就有了两种思想。事实就是如此!