Architecture 两个人在同一个文件上工作的应用程序是否有助于结对编程?

Architecture 两个人在同一个文件上工作的应用程序是否有助于结对编程?,architecture,agile,pair-programming,Architecture,Agile,Pair Programming,我正在和一位招聘人员谈论一个使用配对编程的机会 对我来说,有一些关于两个高级开发人员一起工作的担忧,因为我希望我在阅读时,另一个正在工作 但是,当我与这位招聘人员交谈时,我想到了一种配对编程可能有用的方法,如果有一个编辑器允许两个人同时对同一个文件进行更改,那么一个人可以在一个文件中发表评论,因为其他人正在实现该功能。这些评论可能有助于解释设计该功能时的思维模式,因为如果两名高级开发人员正在开发某些功能,那么这应该是一个足够复杂的问题,需要进一步解释 我不知道有哪个编辑器会允许这样做,因为它可能

我正在和一位招聘人员谈论一个使用配对编程的机会

对我来说,有一些关于两个高级开发人员一起工作的担忧,因为我希望我在阅读时,另一个正在工作

但是,当我与这位招聘人员交谈时,我想到了一种配对编程可能有用的方法,如果有一个编辑器允许两个人同时对同一个文件进行更改,那么一个人可以在一个文件中发表评论,因为其他人正在实现该功能。这些评论可能有助于解释设计该功能时的思维模式,因为如果两名高级开发人员正在开发某些功能,那么这应该是一个足够复杂的问题,需要进一步解释

我不知道有哪个编辑器会允许这样做,因为它可能必须是基于web的,以便同时查看和修改相同的问题

像这样的东西有用吗

这样一个工具还有什么其他用途我会错过


我不想讨论配对编程是否是一个好主意,我有自己的观点,但这个概念对我来说非常有趣。

对于喜欢这种东西的人,有一个有趣的编辑器叫做

它允许您查看谁在处理文档,以自己的颜色查看其编辑区域,跟踪谁对文件进行了更改,等等



(来源:)

这可能有用,但大多数情况下,这与结对编程无关(我对此也持怀疑态度)

也许对于分布式成对编程来说,它可能会有所帮助——不是真的编辑同一个文件,而是让一个程序员编辑该文件,而让其他程序员在屏幕上对更改进行注释。对于那些编程并仍然提供实时通信的人来说,这就不那么麻烦了


我多少有些拙见。

这样的协作编辑器已经存在了——这是我使用过的一个,但还有一些其他的

上学期我们用它来校对我们的报告——这是一个很好的工具,用于这样的目的,尽管如果每个人都试图在同一时间编辑同一个地方,可能会有点混乱

这样行吗?也许。它确实要求他们保持严格的职责分工,以保持配对编程所带来的好处——当只有一个键盘时,实施这一点会更容易一些。讨论实现细节也可能有点困难——当您有白板并且可以面对面交谈时,有些事情可能更容易解释


另一方面,使用协作编辑可以使实践成为可能,而无需将两个人聚集在同一个房间。这两个程序员甚至可以坐在世界的不同地方做这件事。

Mozilla创建了BeSpin,如果我记得的话,就是这样

在我看来,让两个人同时处理同一个文件的不同方面似乎完全避免了结对编程。按照我的理解,在结对编程中,实际上在任何给定的时间只有一个人在进行修改。另一个人应该在同一个屏幕上,观察新代码是否有任何错误,建议更好的方法来实现有问题的代码,并提供第二个想法,以获得更有效的实现。因此,不,我认为它在这种情况下不会有用。

配对编程是指一个有键盘和鼠标,另一个提供反馈。您可以切换这些角色,或者将键盘交给其中一个,将鼠标交给另一个,但您必须始终使用/思考同一段代码才能进行配对编程


我看不出这样的编辑能帮上什么忙,但我能看出它会阻碍你

此类工具不必基于web。这里有几个不是:

  • ,协作文本编辑器
  • ,一个用于Eclipse的分布式成对编程插件
  • ,一个用于EclipseIDE的代码检查插件工具(不是真正的成对编程)

但事实上,如果人们是并置的(这是结对编程的最佳配置),我并不认为使用这些工具有什么意义。对于地理上分布的人来说,他们可能会有所帮助,但这永远不会像坐在某人旁边那样好。

我同意Kylotan最初的观点,即在同一个文件的不同方面工作的任何两个人都可以避免为什么会有结对编程。我对结对编程的理解是,一起做出选择,当一个输入商定的代码时,另一个充当第二组眼睛,以确保它是被理解的。因此,不只是一个人键入他们想要的任何内容,而是输入同意的内容并获得同意可以解决某人最初想法中的许多细节,这可能是一个很好的解决方案,这要归功于一些反馈


有时我们在一台电脑上使用了两个键盘和两个鼠标,但一般来说,只使用一个键盘和轮流打字比较容易。如果我们找到一些繁重的工作,我们可能会分开,这样每个人都可以完成必须完成的部分,而这些部分并不困难或棘手,只是无聊且几乎单调。

是我过去使用过的在线协作文本编辑器。在我的经验中,这种需要协作文本编辑解决方案的问题非常罕见。

您所概述的情况我将描述为“同时编辑”,而不是。正如其他人所指出的,这是一个很大的区别,有几种工具可以同时进行编辑。

FWIW,多人可以在谷歌文档中同时编辑一个文档,尽管我不认为这是一个程序员的IDE,但我认为这是一个程序员的IDE。合并我所做的更改怎么样