第一次接触这种合作方式,两个人共用一台电脑,一个说一个敲,一起交流完成任务。按书上的话说就像开飞机的飞行员和领航员,通力合作完成任务,不过个人觉得在课程实际操作中,我和队友更像是程序猿和程序猿鼓励师啊!
写代码与其说是一种工作需求倒不如说是个人行为,因为每个人都有不同的行为习惯,放在这里就是指代码风格,小到换行缩进变量命名,大到函数封装分行注释,都是不一样的,这是每个人长期以来养成的一种习惯,是不容易在短期内改变的,而一旦选择了结对编程,就需要两个人相互磨合,相互包容,这点无关双方编程能力的高低,而完全是性格,思想,行为的碰撞与融合。
拿课程实验一来说吧,要求两人结对编程完成多项式的判断求导求值。从开始构思算法到实际的代码书写,可以明显感觉到这种方式有以下优点:
个人觉得这种方式比较适合维护性、测试性、探索性意味较弱的项目,而对于该方式何时为有效的方法,如图示,本文不述,具体可参见《什么时候该采用结对编程》
从决定结对编程到真正成为默契的搭档是有极长的路要走的,就像舞伴之间的磨合一般,从会踩到对方脚的蹩脚舞伴到最终可以花式跳舞乃至于一个眼神就心领神会,往往需要两人经年的试跳练习方可,所以结对编程,贵在编程啊!