构建之法一书的第四章中,老师系统的讲解了两人合作的相关内容。两人合作是最简单最基础的合作关系。老师从代码规范讲起,到编程过程,到代码复审,再到性格对二人合作的关系,为我们系统剖析了二人合作编程的过程和要点。对于二人编程,我们要注意到角色的分配,驾驶员和领航员的关系是一种常见的角色分配,但是要注意的是,角色不是固定的,应该有轮回过程。

除此之外,在二人合作的过程中,单元测试是我们需要注意的一个点,如果不能表现为一个单元测试用例,就说明程序写的还不够详细。单元测试要准确、快速的保证程序基本模块的正确性。单元测试应该在最基本的功能或参数上验证程序的正确性;必须由最熟悉代码的人来写;测试过后,机器状态要保持不变;测试要尽可能的快;应该可重复一致的结果。除此之外我们还要知道例如回归测试、性能分析等。

个人感受,在过去的一些合作人,我总是不能做到和队友线性进行任务,几乎都是以,我先完成这个,然后你完成那个,看似是两个人,实际上其实一个时间点里只有一个人在干活,这大大的影响了工作效率,同时对于合作意识没有半点效果。书中所讲的过程,是要求两个人并发式的工作,各自完成各自的任务,最后两个人分别进行单元测试,项目测试,问题修复。相较而言,两个人应该是分别担任领航员和驾驶员的角色,谁都要编程,谁都要指引方向,两个人不能简单的1+1=2,而应该1+1>2

解决方案:在今后的二人合作项目中,我要强制要求自己和同伴完成配合,规范自己的编程习惯,习惯模块化编程,编写自己的API。增加多人合作训练