结对开发

来源:互联网 发布:彻底掌握c语言 pdf 编辑:程序博客网 时间:2024/04/29 19:38
          在第一次听到这个词的时候觉得这东西很新奇 , 也不是很了解 . 就搜了一下 , 发现很少有文章提到这个 . 说结对开发新奇 , 其实一点都不新奇 , 就想我们上小学的时候 , 老师让我们组成小组 , 一起写作业一样 . 互相帮助, 有问题的时候大家一起研究嘛 !

概述

       结对开发未必就是两个人 , 但在大多数时候两个人却是最好的组合 , 这样可以节省更多的人力 .

       在开发一个业务上或者技术上比较复杂的功能时 , 我们的思路有时会很局限 .当然这与个人开发经验有关 , 但是,无论你有多少年的经验 , 你都有没接触过的东西 . 一个经验很少的人也可能正好就经历过你的个人盲区 . 这样两个人就可以互相帮助以达到共同开发 .

结对开发要达到的目标

  1. 互相监督
  2. 共同完成
  3. 共同学习

结对开发主要涉及到以下几点.

       金无足赤, 人无完人 , 做程序员有几年时间了 , 在技术方面也没有什么大的进步 , 但学习的脚步或快或慢但却没有停止过 , 公司中也存在一些高手 , 但是再厉害的人在开发过程中也不都是 0 bug的 .如果是两个人互相监督可以随时发现对方是否出现问题 , 不用在最后的测试中才发现问题 . 互相监督则可以节约更多的时间 .

       在开发的过程中 , 两个人坐在电脑前 , 关注一个显示器 . 这样就会有两个大脑在考虑问题 , 这样出现Bug 的几率就会变小 , 在一个人敲击键盘变的疲劳的时候也可以换另一个人敲击键盘 , 身体是革命的本钱哦 .

      大多数的行业都是一样的 , 同样的工作 , 不同的人完成的方式方法都是不一样的 . 当你多了解一个人的做法的时候 , 你就会潜移默化的学习他的做法(如果这个方法还不错) ,

如果是这样的话 , 两个人的技术水平就都可以得到提高.

结对中需要做的

       在分析需求的时候 , 客户描述出一个他想要的东西 , 但由于客户的语言描述能力或者开发人员的理解能力 , 客户的需求和最终的产品总是不一样的 (客户想要一个盒子 , 我们却给做了一个衣柜) , 这样的例子可能有一些夸张 , 但需求出现问题的时候太多了.如果是两个人坐在一起边讨论边做需求的话 , 效果就会很不一样 .

       在设计过程中 , 同样的事情仍然会出现 , 一个人觉得红色主题好看 , 另一个人觉得绿色主题好看 , 这很正常 ,但实际是黄色的更好看 , 那我们怎么得到这个黄色的主题呢 , 这可能就需要两个人互相听取意见 , 提供彼此不同的想法 .OK , 我们得到了一个相对完美的主题 . 所以设计中我们也需要结对.

       Coding 中 , 要写一个判断 Tony 觉得 ,if, else 这样写很不错 , 而 Tim 觉得Switch case: 更好 , 彼此经过了一番沟通后 , OK , 还是用数组吧 .呵呵, 这可是我在开发中遇到过比较多的问题 . 结对开发可以让沟通更加及时 .

有的时候我们开发人员在一个问题上纠结什么样的做法更完美, 更能节约系统内存,更能节约浏览器加载时间 , 但却忘记了这个功能只有一小部分人使用 , 而这个功能必须在4个小时内完成 , 这样的时候 , 就需要我们的搭档彼此提醒 …

结对中的取舍

1. 结对开发应该只针对一个功能 , 或者是项目进行

2. 需要根据项目的大小和难易而定 , 只做一个简单的列表显示功能 , 框架很成熟了 , 最这个东西也有一段时间了 . OK , 你一个人就可以的 .

呵呵 , 不知道写的对不对 , 也就是自己对结对开发的理解 . 欢迎批评指导 .

原创粉丝点击