配对编程,混合IDE环境?

4

有没有人有团队进行配对编程的经验,其中存在混合的IDE环境?我是长期使用IntelliJ的用户,其他人使用Eclipse,你可能听说过。

在我看来,配对编程涉及大量的程序员之间的键盘传递。但每次轮到我使用键盘时,我都会陷入停顿,因为我不知道该怎么做了。(就像我突然变成了白痴!)

现在我可以(也许应该)学习如何使用Eclipse。(这里不打算引发关于相对优点的圣战。)但我想知道是否还有其他人有意见?


我从未尝试过配对编程,但它已经听起来像是一个糟糕的想法。如果人们共享工作站(如果真的是这样),混合不同的集成开发环境似乎只会让事情变得更糟... - FrustratedWithFormsDesigner
你可以,而且应该熟悉Eclipse以及团队中其他成员使用的工具。你能想象如果你坚持只用一个版本控制系统工具而其他人都使用另一个会怎样吗?开发环境同理。 - anon
1
@Neil - 这次我不同意。对于版本控制系统,你只需要学习一些新命令,或者接口已经集成在IDE中了。但是IDE是你的主要工具,你知道快捷键、菜单、重构、优点和缺点。作为一个热情的Eclipse用户,我曾经有一个同事使用vi很长时间。在她的机器上进行配对编程将是一场噩梦(对我们双方来说都是如此;))。 - Andreas Dolk
6个回答

3
我认为没有必要把键盘传来传去。在我看来,你可以在另一半的人看着你的时候处理一部分工作。有时我想你可能需要接管控制,但通常不是每10分钟就要交换。如果他打字4个小时,然后你们互换位置,这时只需切换IDE即可。
我同意你应该学习使用的工具,如果有实际发布或记录的标准,你应该遵循它,但如果你被允许使用任何IDE,那么我不认为有什么问题。但如果它影响了你的交付能力,那么也许你可以和使用相同IDE的人配对。

@Peter:我同意4个小时太长了。但是你们每10-20分钟换一次司机吗? - MJB
我认为这实际上不是配对,而是观察。 - Paul McKenzie
@MJB,我承认我没有太多的实际配对编程经验(非常遗憾——我真的很想尝试)。所以我的想法更多是理论上和基于感觉的。不过,我可以想象平均每10-20分钟就切换一次控制权。Beck 和 Jeffries 发布了他们的几个配对编程会话笔记,他们甚至更频繁地进行切换。或者一个用户拿键盘,另一个拿鼠标。 - Péter Török
1
@Péter Török:一个有键盘,另一个有鼠标?哇。他们一定相处得非常非常非常好。听起来比我认识的大多数夫妻还要亲密。 - FrustratedWithFormsDesigner
我发现使用两只鼠标效果很好,这样非打字的开发人员就可以指点和点击以建议更改。我想尝试一下用两个键盘,但迄今为止还没有机会。 - Paul McKenzie
显示剩余5条评论

3
大约晚了10年,但对于原帖来说,这个问题在搜索引擎中的排名仍然很高,所以其他对远程混合环境配对编程感兴趣的人可以尝试使用CodeTogether。它适用于IntelliJ、Eclipse、VS Code和基于它们的IDE。
参与者在浏览器中加入,但可以获得完整的类似IDE的体验,包括智能感知、验证、参考搜索、导航等。CodeTogether简单、快速、免费、匿名和加密。插件/扩展程序在您预期的常规市场/注册表中,并且也可以在网站上获得。
全面披露:我为Genuitec工作,是CodeTogether的制造商,我们真诚地希望您喜欢它。任何关于GitterGitHub的建设性反馈都将不胜感激。

只是想更新一下这个答案,因为CodeTogether现在支持直接从您选择的IDE加入会话。因此,如果您喜欢IntelliJ,而您的合作伙伴喜欢VS Code(或Eclipse),您仍然可以一起工作,并且每个人都可以使用他们喜欢的优化环境。跨IDE异构对编程已经到来了。 - Todd Williams

2

规范化您的环境!尽管您需要一个常见的源代码样式,但我认为您还需要一种共同的工作方式,包括使用共同的集成开发环境(IDE)。各种设置、知识、插件等都更容易共享,包括您关于配对编程的示例。


代码风格可以在IDE和持续集成构建中实施。 - Paul McKenzie

2

我在多个IDE环境下还没有这样做过。但是,结对编程是我认为学习IDE功能最好的方式。因此,您应该能够快速掌握Eclipse,您的同事也应该很快了解IntelliJ。您们两个都将更加熟练地掌握两种环境——如果您选择这样做,那么这是一个很好的团队IDE。

与其他学习方法相比,结对编程教你有用的功能(或者您的搭档,他们可能有类似的需求)。您几乎是通过渗透学习的;当您的搭档使用某个功能时,您可能会问自己:“你是怎么做到的?”或“你刚才做了什么?”这是在您需要它们的时候教您所需的功能。

在您的情况下,可能会有额外的价值:您可能会发现自己想要一个IDE提供的功能;您的搭档可能从未遇到过它(但Eclipse中可能有)。因此,您花费一分钟追踪该功能,现在您们两个都学会了IDE的新(和有用的)功能。


1
在配对编程中,双方应该统一使用一个集成开发环境(IDE)。
我的建议是要么与另一个IntelliJ用户配对,要么如果团队中其他人都在使用Eclipse,则开始学习Eclipse。
频繁切换IDE会浪费太多时间,无法获得配对编程的效率。

0

你可以在配对的机器上同时加载两个IDE,并根据需要在它们之间切换,但我建议与你的配对伙伴统一使用IDE。你可能想在下一个回顾会议中提出这个问题,看看团队的共识是什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接