0关注「实验楼」,每天分享一个项目教程

结对编程的概念已经存在很长一段时间,已经有许多公司认同这种编程方式,但也有许多公司表示他们不考虑采用。

正文共:1137 字

预计阅读时间:3 分钟

结对编程是软件开发过程中所使用的一种技术,两名程序开发人员共享同一台工作站。其中一个扮演驾驶者(Driver)的角色,进行代码编写,另一个扮演观察员(Observer)或导航员(Navigator)的角色,对代码进行评测。他们可以轮流编写代码和测试案例,还可以坐在一起交流思想,解决问题,而不会想偷懒去刷手机。

结对编程的概念已经存在很长一段时间,已经有许多公司认同这种编程方式,但也有许多公司表示他们不考虑采用。结对编程需要花费的时间可能比个人编程更长,但产生的 bug 比个人编程少;它需要公司付出多一倍的人力,但编程的效率会比个人编程高。这是一个比较有争议的编程方式,不同公司的需求不同,对结对编程的看法就不一样。

国外有位开发者 Sam Harris 对结对编程的利弊做出了客观的总结分析,总结内容如下:

结对编程的好处

1、互相鼓励,不容易沮丧:团队工作能增加成员的工作积极性。因为在面对问题的时候,会有人一起分担,共同尝试新的策略。

2、互相监督,不容易偷懒:两个人一起工作需要互相配合,如果想偷懒去干别的,就会拖延工作进度。

3、互相学习编程技巧:在编程中,相互讨论,可以更快更有效地解决问题,互相请教对方,可以得到能力上的互补。

4、可以培养和训练新人:让资深开发者和新手一起工作,可以让新人更快上手。

5、多双眼睛,少点 bug:两人互相监督工作,可以增强代码和产品质量,并有效的减少 BUG。

结对编程的坏处

1、与合不来的人一起编程容易发生争执,不利于团队和谐。

2、经验丰富的老手可能会对新手产生不满的情绪。

3、一山不容二虎,开发者之间可能就某一问题发生分歧,产生矛盾,造成不必要的内耗。

4、开发人员可能会在工作时交谈一些与工作无关的事,分散注意力,造成效率低下。

等等……

因此,是否采用结对编程需要根据公司的情况进行定夺。并且,结对编程的时间需要合理安排,时间太长(8 小时及以上)容易产生疲劳,时间太短(低于 1 小时)都没进入工作状态。

出处:程序师

链接:http://www.techug.com/post/pair-programming-2.html

推荐阅读:

  • 2017年12月编程语言排名:Kotlin和C语言成为“年度编程语言”候选人”

  • Python项目挑战赛下周开始,真实的工作场景等你挑战!

  • 2018 最具就业前景的 7 大编程语言

  • Python将被加入高考科目!

结对编程的好处与坏处相关推荐

  1. 儿童学计算机编程好处,孩子学编程的好处和坏处

    孩子学编程的好处和坏处2021-03-13 09:48:48文/张孟影 逻辑思维对孩子的理科类成绩的提升是很有帮助的.小编为大家带来了相关内容. 孩子学编程的好处 锻炼孩子的逻辑思维. 编程是实现人与 ...

  2. 结对编程(Pair programming)

    结对编程是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作.一个人输入代码,而另一个人审查他输入的每一行代码.输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员).两个程序员经常互换角色 ...

  3. 结对编程项目的过程记录与收获

    结对编程项目的过程记录与收获 1.编程问题 某公司程序员二柱的小孩上了小学二年级,老师让家长每天出100道(100以内)四则运算题目给小学生做. 2.结对编程的出发点 为了体会结对编程的好处,和同伴一 ...

  4. Code Review 与 结对编程

    这篇文章的起因是在<"敏捷中国史"交流群>里的一个争论,我希望能够通过这篇文章说明自己的一个观点:相对于结对编程,Code Review是一种更加合理与普适性的研发实践 ...

  5. 【华为大咖分享】3.如何做Code Review 与 结对编程?

    文:华为云DevCloud  庄表伟 这篇文章的起因是在<"敏捷中国史"交流群>里的一个争论,我希望能够通过这篇文章说明自己的一个观点:相对于结对编程,Code Rev ...

  6. 7个 优秀的远程“结对编程“编码工具

    疫情原因,大家都在家远程办公.不知你是否正在寻找与远程团队协作的编码工具?本篇文章,我们寻找了当下最好的协作编码工具,这些工具将使远程结对编程更容易,并提高你和你的团队的工作效率. 如果你是一名程序员 ...

  7. 结对编程_结对编程的利与弊

    结对编程 我在Menlo Innovations的夏季课程 杰玛·埃文斯 ( Gemma Evans)在Unsplash上拍摄的照片 许多程序员对结对编程持怀疑态度:敏捷软件开发技术,其中两个程序员在 ...

  8. “结对编程” 实验心得

    实验内容: 1.      联系结对编程,体验敏捷开发中的两人合作: 2.      两人一组,自由组合: 3.      使用一台计算机,共同编码,完成实验要求: 4.      在工作期间,两人的 ...

  9. 结对编程_结对编程:使其工作的好处,技巧和建议

    结对编程 Pair Programming - a pair that's greater than the sum of its parts. You may have heard about pa ...

最新文章

  1. SAP MM PR单据类型的配置里‘Control’和’Doc.Type’字段的作用?
  2. 【新产品发布】【iHMI43 智能液晶模块 2013 版】
  3. 关于C# WebService的一些看法
  4. 北京 | 免费高效训练及OpenVINO™加速推理深度学习实战,送Intel神经计算棒二代...
  5. jdk1.8对synchronized锁的优化
  6. 重写equals()与hashCode()方法
  7. linux路由器实际配置案例
  8. ES5_03_Object扩展
  9. selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element
  10. tensorflow中获取shape的方法比较
  11. 高密度椒盐噪声的多方向加权均值滤波算法-附代码
  12. UML?类图中聚合和组合的区别
  13. css布局Absolute的垂直水平居中
  14. 新闻管理系统的设计与实现
  15. Vue提高20 日期选择器插件
  16. 【AOP】面向切面谈恋爱(二)| 学废了AOP,他最终失去了爱情
  17. 隧道联系测量高程传递水准数据处理流程及说明
  18. cisco ASA ios升级或恢复
  19. QT离线安装包下载地址
  20. Solidity Integer Overflow and Underflow

热门文章

  1. 项目管理(PMP)整合管理
  2. java定义切点_AOP如何自定义切点
  3. 互链脉搏联合赛迪研究院发布《2019年中国区块链产业园发展报告》
  4. 【IDE-Visual Studio】灾难性故障(异常来自 HRESULT:0x8000FFFF (E_UNEXPECTED))
  5. vs2012 异常【System.Runtime.InteropServices.COMException (0x8000FFFF): 灾难性故障 】
  6. 虚拟机开机状态动态增加内存和CPU
  7. 如何不费吹灰之力逼死一名程序员?
  8. OpenFalcon简介
  9. linux增量备份目录,linux下的增量备份工具rsnapshot介绍
  10. RMAN增量备份恢复