但是,由于某些原因,我一直无法实践结对编程,尽管在平时有意的在自己的工作中实现极限编程中的一些实践,但是一个人对于结对编程这项实践是无法进行了。(除非我会分身术,要么只能是精神分裂了)。
然而,偶然的一个机会,我体会到了结对工作的好处。那天是一个同事接到了一个任务,要设计一下公司内部的网络,并且要画出网络拓扑图。他对于网络的配置和安装是非常熟悉的,所以很快就开始画表格,画图,开始了工作。而我当时恰好没什么事情可做,所以就搬了一把椅子,坐在他的旁边。
就在我不自觉之间,我们实践了结对工作。我们先是对网络的部署有一个简单的讨论,确定了所有的计算机应该处于的网段,由于采用了子网掩码255.255.255.192,这是一个我们从前没有用过的,所以在他画表格的时候,我帮他计算了一下我们的IP地址至少要在多少以后,算出来的结果是最后一个数字要大于192。
接下来我们商量着确定了公司的计算机包括服务器的数目,这样,他就可以确定表格的行数。并很快填写了序号好计算机的使用者。而且填写了必要的一些信息。IP分配的问题就很快完成了。由于我们不停的在交流,避免了很多拼写的错误,也没有遗漏任何一台计算机,一切都进展的非常顺利。
然后需要画一副图来表示网络中的设备的分布,开始的时候他打算使用excel中的绘图工具来完成,但是众所周知,Office本身带的绘图功能在画一些专业的图的时候是不够的,所以我推荐他使用插入对象的方式来加入Visio的图像。
他考虑了一下,同意了我的看法,于是我们切换到Visio下面,开始绘制网络拓扑图。
但是我们很快发现,在Visio中画好的图有一个问题,文字由于采用的圆滑边角的操作而显得不是很清楚,于是他决定采用画好图之后在Excel里面来手动添加文字。
图很快画好了,他开始添加矩形框,并将其背景色和边框线都设为无色,然后在其中添加必要的说明文字。
时间已经过了差不多一个小时了,他有些累,工作的效率也有些降低,我提议剩下的一点儿工作由我来替他完成,他同意了,两分钟之后,所有的工作完成了。
接下来我们又一起检查了一下,没有什么遗漏和错误的地方。于是我们的工作就完成了。
由上面我们可以看出,其实结对这个方式不仅仅可以应用在编程的过程中的,在平时的一些工作中都可以采用。我想大家一定用过这种方式,想想从前在大学的宿舍里面,打游戏或者打牌的时候总是会在身边有一个参谋,那样不也是结对的方式吗?哈哈。
结对的确是一种非常有效的方式,如果利用得当,不仅能够通过优势互补提高我们的工作效率,而且还可以减少错误。最重要的一点,这种方式非常有利于大家的共同提高,这对于一个团队来说不能不说是一种非常好的结果。