607
社区成员
发帖
与我相关
我的任务
分享
结对编程总能做到1 + 1 > 2 吗?
教材中第四章出现了结对编程(Pair programming),这是一种变态的代码复审,有别于传统的Code Review。书中强调"复审的目的在于纠错改进与教育更多的开发人员",
随后在4.5.3节说到Pair中两人对程序深入了解,复审效果好。但代码复审包括具体代码、效能、设计规范等多方面,Pair中有时间像Code Review一样周全的考虑吗?
在传授经验这个方面,Pair中比较多的也是口头交流吧,那么有些经验不就只停留在两人之间了吗?
当开发想到一个新idea,为什么不形成书面形式在Code Review中“让更多的成员熟悉项目各部分的代码”?
为什么想着不间断地复审而不去花时间提高团队Code Review的效率?
结对编程的优点是可以进行实时的代码复审与交流,从而提高二人的工作效率,减少可能出现的bugs。在团队开发中,相同分工的人员也适合以结对编程的形式进行开发,修复难以发现的漏洞时结对编程也往往能快速定位问题。而团队内的代码复审可以让成员对一份签入代码从一致性、编码风格、安全与冗余等方面综合监督,同时及时发现所用技术方案/框架的不足,减小试错成本。相比于结对编程大量的面对面交流,代码复审还能自然地衍生出技术说明、API说明等文档,一份确定的代码规范不可或缺,一方面可以统一项目代码风格,另一方面也能提高团队代码复审的效率。总之,在实际开发中是否进行结对编程,都需要从时间、工作重合度、成员相性等方面考量,灵活选择开发的方式。