文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

结对编程,就是两个开发人员共享单个工作站,在过去几年中变得越来越普遍,争议越来越少,但许多人还没有尝试过。在结对编程中,一个参与者是“驱动程序”,他实际上是写代码的,另一个是“导航员”,他检查驱动程序的工作是否完成,并且关注全局。每隔几分钟这两个角色互换,并在整个过程中相互交谈。

这也可以远程完成,当然,需要使用像谷歌Hangouts和screensharing工具。

研究表明, 与早期的反对意见相反,结对编程的“工时”是现有编程模式的两倍,实际上,结对编码这种方式只增加了15%的开发时间,交换回来15%的bug和缺陷 。 大多数公司使用配对编程,包括Stack Overflow,发现好处远远超过成本。

第 1 段(可获 1.9 积分)

但对于开发者来说,这意味着什么呢?

除了在工作场所的使用,许多人发现结对编程是一个梦幻般的教学和学习的工具。 Stack Overflow的开发人员之一Marco Cecconi称之为“最喜欢的教学和学习方式”。

这是因为它是一个完全身临其境的学习经验:听,看,做,并接收反馈,所有工作在短时间就可以完成。

两个不同技能水平的程序员

当资深程序员和新手配对时,新手处于最佳位置,学习和成长非常快。 当资深程序员是驱动器时,新手不仅观察正在产生什么代码,而且观察它是如何产生的。 该过程洞察了资深开发人员的思维过程,快捷方式和风格。 它类似于看着美食厨师厨师,而不是阅读食谱。 当资深程序员在他编码时叙述,新手能够提出问题,并参与当前的讨论。

第 2 段(可获 2.09 积分)

当新手编程的时候,他身边有经验丰富的开发人员对其进行监督和指导。新手面对错误不在束手无策,而是把它当做宝贵的经验。

新手的好处是显而易见的,但资深程序员也将受益匪浅。他接触到新的ideas和想法,并可以清楚的解释做出这个选择的考虑。这也削减了专门用于培训和教学而远离工作的时间,两个人结对编程可以做到真正共同工作的原因是因为他们一直在教一直在学习。

第 3 段(可获 1.29 积分)

两个技能水平相近的程序员

当两个类似技能水平的开发者进行配对编程时,还有其他好处。 例如,一种技术被有效地用于另一个开发者。 虽然他们的技术技能可能平等匹配,但是一个有更多的制度知识,就可以转移到另一个配对开发者的代码中。

当具有类似技能水平和相似水平的制度知识的两个程序员配对成为日常操作的一部分时,教学和学习效果可以继续,并且最终产品可能具有比开发人员独立工作更高的质量。 当开发人员编码时,很容易迷失在杂乱无章的细节问题中。 如果你身边有一个导航员,他可以从全局考虑这个问题怎么做,在脑海中考虑替代方法来解决问题。

第 4 段(可获 1.96 积分)

Stack Overflow数据小组成员Nick Larsen指出,“当你的逻辑思维导致代码出现小错误。在成对编程中,当你提交代码的时候,导航员会清理它们。这是一个他人分享他们不喜欢这样逻辑的机会,反之亦然。”

在你的职业生涯中,总有别人知道你不知道的知识。事实上,每个人都有别人知道你不知道的事情,你知道而别人不知道的事情。重视合作,为熟练技术工人来分享他们的经验,技术,和思想;编程也不例外。

第 5 段(可获 1.29 积分)

结对编程与网络

当然,在决定结对编程时,这不是一个主要的问题,结对编程伙伴可以是一个积极的引导,也不应该忽视网络联系。 当你定期与某人结对编程, 他们对你的工作有着独特的了解,什么是你的长处,你如何解决问题,以及如何作为团队的一部分协作。 你可以为他们做同样的事情,有助于加强别人的技能,也有助于通过介绍和推荐有利于别人的职业生涯。

第 6 段(可获 1.18 积分)

你想结对编程,但需要一个合作伙伴? 如果需要的话,你可以访问 pairprogramwith.me, 在那里你可以下载一个徽章放在你的博客或主页, 这标志着你对结对编程的请求(并且留意其他开发者网站上的这个徽章!).

或者加入一个类似的小组, 承诺给你 “这里有同行,黑客和合作者”的那种:

如果以前没做过,为什么要结对编程呢?

1. 学习新的技巧和技能
2. 教导别人,提高你的沟通能力
3.得到反馈和见解,关于你做的事
4. 结交新朋友,享受与有思想的人。

第 7 段(可获 1.55 积分)

你可以浏览 所有结对编程小组.

最后,如果你有问题,需要答案,去你总是去的地方:软件工程 Stack 交流社区, 其中有一个专门用于结对编程答疑的标签。

入门和练级

作为初学者,你应该利用一切结对编程的机会。上面的链接可以帮助你开始, 如果你在你所仰慕的开源世界中有导师或联系人,也许他们会愿意在你当前的项目上与你做一些结对编程。 你不问就不知道,如果有人说“是”的话,你将收获到巨大的潜力来提升你的事业。

第 8 段(可获 1.49 积分)

云计算, 例如,是一个开源项目和社区,所有代码都是结对编写的。“我们发现,除了开发人员的士气和工作/生活平衡外,还大大提高了代码质量。”

如果你正在寻找实习或新工作,寻找鼓励新团队成员结对编程的公司。 这种做法可能会使你获得更好的成功, 更快融入团队,更显著成长为开发者。

最后,如果结对编程对选择新角色很重要,这里有几个公司,至少部分时间使用它:

第 9 段(可获 1.39 积分)

Stride

Pivotal

Thoughbot

Braintree

Facebook

Groupon

Good Eggs

Goldstar

Square

使用此列表来启动 你在 Stack Overflow 的搜索之旅。

你在工作中使用结对编程吗?你发现它的成本和收益是什么?

第 10 段(可获 0.5 积分)

文章评论