4.5 什么样的人/团队适合结对编程呢?

GreyZeng 2021-07-16 17:10:24

原文地址

构建之法原文(P80)

总之,如果运用得当,结对编程可以取得更高的投入产出比。

这句话给我的第一感觉,就像这句话一样:

如果方法得当,高考前一个月也可以提高300分。

虽然我的类比有些夸张,但意思是一样的:后半句话看起来那样美好,但是它的前提条件就有些说不太清楚了。

书中随后介绍了结对编程的流程与分工,也列举了一些注意事项,甚至还提到了一些结对编程中的交流技巧。但是却忽略了一个问题:什么样的人/团队适合结对编程呢?

后文提到了两人合作的阶段:萌芽→磨合→规范→创造。但同时也指出了,并不是所有的合作都能走到最后一步,可能磨合太多后进入“解体”阶段。最终走向失败的合作有可能是是双方的方式不对,但也可能是双方口味不合,甚至有一方深深排斥自己工作的时候有另一个在边上。

国内为何很少有人做结对编程呢?是确实不好还是属于中国特色? - 小白的回答 - 知乎

这个回答中就提到,并不是所有人都能在交流中保持专注,也并不是所有人都喜欢在一个充满交流的环境中工作,甚至说,很多人走上了软件开发的道路就是因为自己需要安静的环境来保持专注。

选择结对编程,就意味着要让两个人去完成一个人的工作,这本身就是不利于投入产出比的,如果结对编程不能带来额外的好处,就是亏的。也就是说如果一组合作伙伴快速走向解体,那么就很可能是一次亏本的尝试。那么相较于关注怎样进行结对编程,我们是不是更应该关注哪些人适合结对、怎样挑选结对的伙伴呢?

...全文
472 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
GreyZeng 2023-02-25
  • 打赏
  • 举报
回复

我认为结对编程的成员要具备一定的技术能力,最好是能有一定的项目经验,才能保证项目能持续推进下去而不是一旦遇到难题无法解决而导致项目停滞或终止。另外书中也提到项目过程中会有很多的意见要分享,所以团队成员应该要乐于分享和沟通,有助于共同解决问题,提高效率。另外我认为自学能力是对于我个人来说是必不可少的,因为我作为学生还有很多技术和知识没有掌握,所以在做项目构成中必定会遇到问题,大部分时候需要自己学习并解决问题,所以在当前环境下选择结对编程,有较强自学能力的人是比较适合的。

原文地址:https://bbs.csdn.net/topics/613465307

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

在两次结对编程作业中,我感觉结对编程在“攻坚”方便拥有很大的优势,多人划分任务进行配合的时候,当遇到难点的时候,是很难获得其他队友的支持的,一方面,别人要了解你遇到的问题的详情是需要一定成本的,另一方面,别人也有自己的工作需要做,很可能不愿意放下手头的工作先去帮助别人,此时就往往只能一个人去解决一个困难的问题。但是结对编程的时候,面对一个困难的问题,两个人是可以马上开始讨论交流的,这在重思考轻编码的场景下是有效的。

但是结对编程也存在一些问题,一个是轻思考重编码/配置的场景下,尤其是有现代IDE辅助的情况下,两个人对着一台电脑进行开发工作,很容易走神,互相影响,效率是不如分头行动的。另一方面就是结对编程的环境,结对编程需要交流,需要发出声音,一方面会影响到别人,一方面别人都安静的时候两个人交流是很尴尬且放不开的,此外,结对编程需要两个人在同一时刻同一地点进行编程,这需要一定的妥协。不过最近CodeTogether的推出可以解决这个问题,两个人可以分别在家中进行结对编程,分别使用自己的电脑阅读代码也确实比一个人写另一个人在同一块屏幕上看体验更佳。

GreyZeng 2021-07-18
  • 举报
回复

606

社区成员

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

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