4.5 结对编程在双方差距较大时的意义是什么?

GreyZeng 2021-07-16 17:41:07
...全文
645 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
GreyZeng 2022-06-29
  • 打赏
  • 举报
回复

在我们的结对编程实践中,我发现结对编程时如果二人的开发水平有较大差距,确实会拖慢一定的开发进度。但是反过来,这一定程度上也可以让另一个人更清楚地解释自己的开发思路,考虑到后续的 bug 修复的成本,这未必会和我之前想的那样大。因此我认为在一定程度内的水平差距仍然是可以接受的。

原文地址

GreyZeng 2022-06-29
  • 打赏
  • 举报
回复

在本学期的结对编程中,对于我原来所作出的回答,变得更加深有体会了,结对编程能够顺利进行的前提是需要双方有着一定的能力作为基础,也许你代码编写速度快,逻辑性强,也许我思维抽象性强,对架构的设计感更好,从每个人的强项来看,确实自己的优势和对方相比十分悬殊,但二者起到了一定的优势互补,反而能够将两个人的短板进行弥补。然而,假若一方什么都强,或者另一方什么都弱,这在结对中不仅弱势的一方有一种使不上力的感觉,强势一方也会将任务担在自己身上,两个人都不好受;即使强势的一方将任务分给弱势的一方,由于二者水平的差距,甚至可能让双方的对接产生问题,最后的结果就是重构,这种现象已经出现了。

原文地址

GreyZeng 2022-06-29
  • 打赏
  • 举报
回复

在结对编程的过程中,实际上是按照代码块进行任务编程分配的,在实现某一个函数时A当领航员B作为驾驶员,在完成另一个函数时交换双方的角色。这样分配的话,实际上领航员不需要太过关注代码的实际编写,只需要保证理解代码排除可能的逻辑错误即可,并不会对工作时长有太大的影响,,也能适当减轻工作量,代码风格差异的影响不会特别大。相反,与每人仅关注于自身的模块只提供接口的方式相比,更能对整个程序有一个全面的了解。

本次的结对编程任务难度不大,所以并不能直观感受到水平差异对结对编程的影响,但我想结对时应尽量避免双方水平差异过大的情况。

原文地址

GreyZeng 2022-03-14
  • 打赏
  • 举报
回复

本学期实际的结对编程中确实出现了上面提到的磨合、技能差异问题,代码复审确实能提高代码质量,但效率和收益并不高。总的来说,结对编程还是需要结对两人均有较高且相当的水平才能效果较好。

原文地址

GreyZeng 2022-03-14
  • 打赏
  • 举报
回复

在一学期的开发之后我逐渐理解了结对编程的好处以及适用面。实际上当两人差距过大之时是不太适用于结对编程的,结对编程仅适用于两个人对于需要的知识都比较了解的情况,或者是对于知识有互补的情况。强行让两个差距很大的人结对最终很容易变成一个人开发或者两人分别开发的模式。
原文地址

SoftwareTeacher 2022-03-13
  • 打赏
  • 举报
回复 1

如果差距较大, 还有 ’即时培训‘ 的意义。 请看图:

Alice 和 Bob 在结对编程。 他们有各自不同的 comfort zone (非常熟练), learning zone (学习区),panic zone (恐慌区,问题太难了): 不同的组合对双方的收获:

img

GreyZeng 2021-07-16
  • 打赏
  • 举报
回复

课程中的结对编程本质上对我们来说是一种尝试。尝试两人水平不相当的结对编程有何不可?虽说我在结对编程没有进行这种尝试,但我觉得不管结果如何,这种特别的尝试经验十分可贵。尝试的结果也许是一人编程一人旁观,然后水平高的一方直接把水平低的一方拉进黑名单;也许是菜鸟积极学习,寻找互补之处,努力跟上大佬的步伐,大佬也在教导中有所收获。总之,这种尝试并不会被否认,因为结果有好有坏,而这其中的关键是两人在面对这种局面时的想法和行动,是寻找突破口,还是破罐子破摔。

GreyZeng 2021-07-19
  • 举报
回复
GreyZeng 2021-07-16
  • 打赏
  • 举报
回复

结对编程的一个重要作用就是由老手带领新手迅速熟悉开发环境,新手可以得到及时反馈,从而快速融入到新环境中。

在团队项目阶段,我们组内在冲刺阶段和Debug阶段时用到了结对编程的方法。Debug时,每个人都会基于自己的理解提出可能的解决方案,类似于进行头脑风暴,对于最后解决问题也是有启发意义的。

img

虽然大多数时候是几个小时过去了,结对成员依然在不断尝试……

605

社区成员

发帖
与我相关
我的任务
社区描述
程序员。写过:移山之道,编程之美,构建之法,智能之门。
软件工程软件构建团队开发 企业社区 北京·朝阳区
社区管理员
  • SoftwareTeacher
  • GreyZeng
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧