乐趣区

关于编程技巧:提高效率-Or-增加成本开发人员应如何理解结对编程

作者:Michael Yang,云智慧架构师

什么是结对编程

结对编程(Pair programming)来自于极限编程 XP(eXtreme Programming),是它的最佳实际之一。顾名思义,结对编程就是两个程序员坐在一起,用一台开发机进行结对开发。

需注意,在国内“老带新”,“徒弟带徒弟”的结对形式并非严格意义上的结对编程。因为“老带新”的结对形式资深程序员有更多的话语权,故而失去了结对自身的意义,因而这种结对模式只能算是新人造就的一种模式。

结对编程的实际模式

在采纳结对编程实际时,不同的团队有不同的形式:

  1. 分工明确型:

    1. 一个人负责编写代码,另外一个人审查代码,负责代码的正确性和可读性;
    2. 一个人负责具体设计,一个人负责代码实现;
    3. 一个人写性能代码,一个人写测试用例。
  2. 独特单干型: 两个人独特探讨对于所开发性能的架构设计、编码实现、测试方法等,而后轮流做输出和察看的工作。此模式很好地做到了信息共享,失去互补的成果。

结对编程如何进步工作效率

结对编程是通过两个开发人员在同一个我的项目或者工作上并肩合作,轮流编写代码并查看合作伙伴的输入来进步工作效率,上面将具体解说结对编程进步工作效率的具体形式。

  1. 突破常识壁垒,互相学习编程技巧,并升高产品需要设计缺点;
  2. 互相配合,加强代码和产品交付品质,无效缩小 BUG,从而缩小测试人员工作量;
  3. 相互督促,缩小“摸鱼”工夫,无效进步工作工夫;
  4. 互为 Backup,在能保障我的项目顺利进行的同时,可更好地解决人员流动。

结对编程的价值

  1. 从我的项目角度,进步了产品质量

在个别工作编程中,因为集体的想法不免有忽略,脱漏和局限性,就会产生“本人看本人写的代码怎么都对”的误区。而在结对时,因为是两个人共同完成一个产品性能,所以单方能够站在不同的角度看到彼此的谬误,从而防止了集体主观误区。另一方面,在结对编程过程中,因为代码已被至多一个程序员进行了审查,因而能够让代码的设计、测试和编码更加敌对,缩小了缺点,从而进步了产品质量。

结对编程的模式也保障了产品的一个性能,代码实现构造至多能够被两个人晓得,两个人可相互造成 Backup,而不会呈现像惯例编程一个人销假或者到职,后续我的项目无奈推动的状况。此外,有些团队通过定期更换结对编程人员组合,以此保障团队中的每个成员都能相熟我的项目的各个功能模块,从而造成我的项目集体所有的气氛,以及防止了“一人责任制,自扫门前雪”的景象。

更重要的是,在业务需要开发过程中,难免会呈现缺点。在排查问题过程中,结对编程的开发人员无需本人主观排查判断,而是能够通过与本人协同搭档商议的模式攻克缺点,这样的成果在最终也往往会是翻倍输入。

  1. 从团队角度,更好的促成了团队合作气氛以及常识传递分享

从团队角度登程,相比于传统独立工位“栅栏”的工作形式,结对编程一方面更好的实现了常识传递分享,另一方面,结对编程这种即时的沟通交流形式也让团队成员关系变得更加融洽,从而更有利于创立谐和的团队气氛。

依据“乔哈里视窗(沟通视窗)”的实践,在理论工作和人际交往中,独特的开放区越多,沟通起来也就越便当,越不易产生误会。当咱们向他人扩充咱们的公开象限时,就会更多的和对方建设良好的关系,结对编程便是很好的一种沟通模式。

沟通视窗四象限:

  • 公开象限:本人晓得,他人也晓得;
  • 隐衷象限:本人晓得,他人不晓得;
  • 盲点象限:本人不晓得,他人晓得;
  • 潜能象限:本人不晓得,他人也不晓得。

第一个区域,本人晓得他人也晓得的信息叫做公开区信息;第二个区域,本人晓得他人不晓得的信息叫做隐衷;第三个区域,本人不晓得他人晓得的信息叫做盲区信息;第四个区域,本人不晓得他人也不晓得的信息叫做未知区(潜能区)信息。

  1. 从集体角度,进步了集体能力与工作效率

从集体角度登程,在结对单干时,集体不仅会从结对合作伙伴那里学到新的常识和技能,还能受到对方工作形式和态度的影响。尺有所短,寸有所长,每个人都有本人的长处和短处,值得被学习和尊重。当团队中的每个人的能力进步了,其实就是整个团队能力的进步。

工作效率上,结对编程让大家更专一在工作上,工作外的一些集体流动将不会进行。每个人都有本人要负责的工作,某种程度上,结对编程让两个人外部造成了一个互相监督,共同进步的小团队,为了团队工作的实现,两个人都会专一在本人的工作上,从而大幅提高工作输入的效率。

总结

结对编程其实是在结对磨合中缓缓造成的一种团队独特价值观和文化。这个过程是漫长且耳濡目染的,在结对编程中必然经验一致和对立的过程,而很多团队在一致中就间接进行了实际,也就无奈看到结对带来的益处。因而,在开始结对编程之前,管理人员应全面地思考你的团队是否真的适宜结对编程。

开源福利

云智慧已开源数据可视化编排平台 FlyFish。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现合乎本人业务需要的炫酷可视化大屏。同时,飞鱼也提供了灵便的拓展能力,反对组件开发、自定义函数与全局事件等配置,面向简单需要场景可能保障高效开发与交付。

点击下方地址链接,欢送大家给 FlyFish 点赞送 Star。参加组件开发,更有万元现金等你来拿。

GitHub 地址:https://github.com/CloudWise-…

Gitee 地址:https://gitee.com/CloudWise/f…

万元现金流动: http://bbs.aiops.cloudwise.co…

微信扫描辨认下方二维码,备注【飞鱼】退出 AIOps 社区飞鱼开发者交换群,与 FlyFish 我的项目 PMC 面对面交换~

退出移动版