结对编程其实可以变变?

简介:
想必大家对敏捷开发中的结对编程都有所了解,可在公司试用推广时却很容易遭到大多数同事的反对,反对理由如下:
1.长期的习惯导致在有个人在旁边监督你编写代码时很别扭;
2.敏捷的结对编程要求两个程序员最好能力水平相当?这个不好界定吧,另外每个人都有每个人的编码习惯,大家也知道,做为程序员的我们往往比较固执,也比较爱布道,所以很容易产生各种实时冲突,影响开发效率;
3.也许两个人会聊其他话题哦,比如这款智能机怎样,那游戏怎么样,哈哈,这种情况应该比较少吧。
    其实我认为可以引入一种结对编程的变种,并不是严格按照敏捷概念的那种结对。而是对大范围的一个结对,比如说一个产品(在我们公司常常就有一个人开发一个产品的情况),一个子系统,一个核心功能的结对,不是针对编码的结对,恰恰,编码要分开!我觉得这种结对的精髓就是,对核心功能的设计两个人都去参与研究和设计,然后综合二人的方案提交给部门一个评审方案,因为一个人研究一个核心功能难免会有思维局限,要么就是陷入误区后无法很快找到熟悉此功能的人一起探讨。而结对编程在某种程度上规避了此种风险的发生,子系统的设计开发和产品的设计开发同理。注意,有一点,编码上一定要严格分开,两人不能有功能和代码上的交叉重叠。代码完成后,代码评审也在两人间进行。
     我觉得采用以上结对编程,相比传统的敏捷结对编程有以下几个好处:
1.没人监视编程了,很舒服,自主;
2.水平不相当也没关系,把简单功能分给水平稍低的;
3.功能的分解由两个人同时写代码完成肯定比只有一个人写代码快;
4.质量?没关系,有代码评审呢;
5.冲突,至少实时的冲突没有了,两个人可以在代码评审时互相学习,集中解决冲突。
本文转自永远的朋友博客51CTO博客,原文链接http://blog.51cto.com/yaocoder/773045如需转载请自行联系原作者

yaocoder
相关文章
|
机器学习/深度学习 安全 测试技术
我亲身经历的2022年软件质量工作
我亲身经历的2022年软件质量工作
|
前端开发 测试技术
干货 | 原来升职加薪的测试工程师都擅长做接口测试
干货 | 原来升职加薪的测试工程师都擅长做接口测试
|
前端开发 JavaScript API
最近一个项目的反思
 大约在三个月前,也写过一篇这样的文章,最近也在忙一个项目,最近几天有时间,所以就来这里发发牢骚。   这次要开发两个产品,为期两个月,包括两个APP和三个后台。与上次开发的项目相比,规模要大很多,功能点也要多一些,难度也要大一些。
最近一个项目的反思
|
设计模式 Serverless 领域建模
实战经验 | 怎样才能提升代码质量?
提升代码质量的三个有效方法:领域建模、设计原则、设计模式。
实战经验 | 怎样才能提升代码质量?
|
敏捷开发 架构师 安全
代码大全2札记:前期准备
代码大全2札记:前期准备
98 0
人月神话札记:沟通
人月神话札记:沟通
91 0
|
Java 测试技术