天天看点

初识结对编程

今天我和我的partner祁丹蕊一起尝试了一次结对编程,目的是用javascript实现一个经典的小游戏:Game of life。

这个游戏的逻辑比较简单,在这里就不再赘述了,毕竟本文的重点是谈一谈自己对结对编程的认识。

关于结对编程,我觉得首先一个最大的好处就是有人在旁边监督你,这对于我这种重度拖延症患者来说可谓是真正的福音啊,写代码效率一下子就提升了一大截,妈妈再也不用担心我要熬夜赶deadline了!

其次是结对编程对代码的正确性有很好的保证,一个人写代码,另一个人同时读代码,bug的出现几率非常低,即使出现了bug,两个人一起调试效率也高很多,不像传统编程,要么一个人反复调试反复测验可能耗时好几个小时才fix一个bug,或者找别人帮忙调bug也得先给那个人讲一遍代码才行,而这些情况对于结对编程基本都不存在,毕竟两个大脑在一起比一个人还是强多了。

另外采用结对编程的话,设计算法的思路也会更广阔,两种不同的思维碰撞在一起可以互相参考,两个人也可以指出对方的优势和不足之处,由此可以一起设计一个更高效的算法,更好的完成项目。

不过相比于传统编程,结对编程对程序员的沟通能力也有更高的要求,传统编程只需要一个人闷头码代码就行了,而结对编程则需要两个人互相说明自己的想法,表达清楚自己的思路,同时也是对程序员处理分歧的能力的考验,当然,这些沟通感觉有时候也会拖慢项目的进度,但是比起传统编程很快写好代码,花大量时间在debug和复查重构上,结对编程虽然编程过程比传统编程长,但是质量更高,代码也更鲁棒,重写的概率比较低,对于对代码质量要求较为严格的项目的确不失为一种很好的编程方法。

继续阅读