Language agnostic 当存在阻抗不匹配时,配对编程是否有效?

Language agnostic 当存在阻抗不匹配时,配对编程是否有效?,language-agnostic,pair-programming,Language Agnostic,Pair Programming,例如,一位经验丰富、C#.NET经验有限的程序员能否成功地与一位经验丰富的C#.NET程序员配对,其次要目的是让前者与C#.NET同步?。分享知识是结对编程的要点之一(以及让一个人打一段时间,让另一个人在做的时候回顾一下这一有用的动态) 以我的经验来看,这是最有效的方法之一,并且让经验较少的程序员仍然能够做出有益的贡献(回顾专家正在做的事情并做出明智的评论/干预比完成整个工作需要更少的经验)。是的,我发现好的结对编程总是双向的,它本质上是一个伪装成it创新的社会工程。这取决于他们之间的个人化学反

例如,一位经验丰富、C#.NET经验有限的程序员能否成功地与一位经验丰富的C#.NET程序员配对,其次要目的是让前者与C#.NET同步?

。分享知识是结对编程的要点之一(以及让一个人打一段时间,让另一个人在做的时候回顾一下这一有用的动态)


以我的经验来看,这是最有效的方法之一,并且让经验较少的程序员仍然能够做出有益的贡献(回顾专家正在做的事情并做出明智的评论/干预比完成整个工作需要更少的经验)。

是的,我发现好的结对编程总是双向的,它本质上是一个伪装成it创新的社会工程。

这取决于他们之间的个人化学反应。如果经验丰富的程序员愿意并且能够分享他的知识,让经验较少的程序员通过编写代码和讨论参与开发,我会说这是一种非常有效的学习方式。

你当然可以做到这一点-我们过去已经做到了。但您必须接受这样一个事实,即您在“代码质量”好处和培训好处之间进行了权衡。恐怕没有免费的培训课程。

这完全取决于开发人员的个性,没有硬性规定


有一件事是肯定的,有经验的开发人员在与没有经验的开发人员一起工作时效率会降低。我个人认为结对编程时需要有一个很好的能力匹配。不过,这是一种让经验不足的开发人员加快开发速度的很好方法。

是的,这会奏效。如果1)经验有限的程序员愿意学习C#,2)另一个程序员愿意教C#。

它在某种程度上起作用。通常是一个领导另一个。。。因此,从这个意义上讲,结对编程并不多


这在很大程度上取决于有经验的程序员的教学技能和其他程序员的快速学习技能。

就我个人而言,我认为这会很好地工作,并且是结对编程的目标之一,但成功与否将取决于两个程序员。如果程序员1(学习C#)投入了一些额外的时间来真正提高速度,而程序员2(另一个)有耐心并渴望教授,这对两者都有好处。

虽然这是个好主意,但实际上可能没有用。为了培训某人,你可以组织培训,并指派能提供帮助和指导的导师。导师可以从实际项目中分配工作,并可以进行监督


如果你想从这个概念中获益,结对编程应该是在相对有经验的人之间进行的。在我看来,与一个没有经验的人结对编程将失去生产力,并且不确定当有人不断地检查他时,这个人会得到多少。分配一项任务并给予独立发展的机会,然后对其进行回顾,这将提供良好的自学能力。

是的,但前提是更好的人有耐心并愿意教学,而较差的人愿意学习。我和不如我的人合作过,这很乏味,但我认为他们从中吸取了教训。我和比我优秀的人结对编程,我当然从中吸取了教训。真正取决于人。

当技能不匹配程度很高时,它确实变成了一种师生关系。这并不坏,但会浪费技术人员的时间

然而,即使这是不切实际或浪费,偶尔进行一次结对训练也是非常有用的!即使学生感到不知所措或尴尬,有时“学生”也可以看到高水平的人是如何工作和思考的。这有助于让他们了解高质量工作的问题/技能/方法。把它想象成一个高中生访问一个研究实验室。对专业科学家来说,教高中生是一种浪费,但是一个小时的访问可以帮助学生集中注意力,让他们瞥见最终目标


我记得为什么我选择Emacs作为我的编辑。我只是碰巧坐在一位专家用户旁边,粗鲁地从他身后窥视,我看着他超快速地重新排列和导航代码。我只看了不到一分钟,从来没有和他说过话。。他可能根本没注意到我在看!但我被吓坏了,决定学习Emacs。十年后,我的技能仍然不如那位专家,但我对更换编辑的决定并不后悔,因为我看到了可能发生的事情。

是的,但使之有效的方法一开始可能并不清楚。配对编程的任务应该是经验较少的程序员的任务(我们称他为Michael)。我也会让Michael开始结对编程课程,以便解释课程的目标是什么。这种方法将Michael置于驾驶员的位置,更有经验的程序员(我们称他为Bill)将担任更多的指导角色


通常,Bill将承担或被分配更复杂的任务。这种方法允许Michael从事更适合其经验水平的任务。我建议首先以30分钟到一小时的间隔关闭,这样迈克尔就可以习惯于让别人控制的过程。您可以慢慢地将这些关闭时间缩短到15分钟,或者任何对两个开发人员最有效的时间间隔。

我认为您获得的最终结果取决于执行此操作的人员。在这种情况下,您可能会以一个领导另一个结束(而另一个只是注意理解第一个使用的语言特性)

这可能是有效的