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

问题描述 投票:0回答:10

我正在和招聘人员讨论使用配对编程的机会。

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

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

我不知道任何允许这样做的编辑器,因为它可能必须是基于网络的,以便同时查看和修改同一个问题。

这样的事情会有用吗?

这种工具还有什么其他的用途我会失踪?

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

architecture agile pair-programming
10个回答
12
投票

让2个人同时在同一个文件的不同方面工作似乎完全避免了对编程的全部内容。在结对编程中,据我所知,实际上只有一个人在任何给定时间进行修改。另一个人应该在同一个屏幕上,观察新代码是否有任何错误,提出更好的方法来实现相关代码,并提供第二个想法来反弹意见,以达到更有效的实施。所以不,我认为在这种情况下它不会有用。


0
投票

Etherpad是我过去使用的在线协作文本编辑器。在我的经验中,需要协作式文本编辑解决方案的问题很少见。


6
投票

对于喜欢这类东西的人来说,有一个有趣的编辑器叫做SubEthaEdit

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

alt text (来源:codingmonkeys.de


2
投票

这样的协作编辑已经存在 - Gobby是我用过的,但还有其他几个。

我们上个学期使用它来证明我们的报告 - 这是一个很好的工具,但是如果每个人都试图同时编辑同一个地方,可能会有一些混乱。

会有用吗?也许。它确实要求他们保持严格的职责划分,以保持对编程有益的优势 - 当只有一个键盘时,执行此操作会更容易一些。讨论实现细节可能有点困难 - 有些事情可以更容易解释,当你有一个白板,并可以面对面交谈。

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


2
投票

Mozilla创造了BeSpin,如果我记得恰恰是那个https://bespin.mozilla.com/


2
投票

我同意Kylotan的最初任何约2个人在同一个文件的不同方面工作是避免为什么有结对编程。我对结对编程的理解是,一起做出选择,并且在一致同意的代码中有一种类型,另一种是作为第二组眼睛来确保它是被理解的。因此,不只是一个人输入他们想要的任何东西,而是在达成协议并获得该协议可以解决某人最初想法中的许多细节,这可能最终成为一个很好的解决方案,这要归功于一些反馈。

有时我们在计算机上使用了2个键盘和2个鼠标,但通常更容易只有一个并轮流输入内容。如果我们发现了一些咕噜咕噜的工作,我们可能会分手,所以每个人都要完成必须要完成的部分,这个部分并不难或很棘手,只是无聊而且几乎单调。


1
投票

结对编程大约是一个有键盘和鼠标,另一个提供反馈。您可以切换这些角色或将键盘设置为一个,将鼠标指向另一个,但是您将始终必须处理/考虑相同的代码片段才能进行配对编程。

我不知道这样的编辑如何帮助解决这个问题,但我可以看出它是如何阻碍的。


1
投票

这些工具不必是基于网络的。以下是一些不是:

  • Gobby,协作文本编辑器
  • XPairtise,Eclipse的分布式结对编程插件
  • Jupiter,Eclipse IDE的代码审查插件工具(不是真正的结对编程)

但实际上,如果人们并置(这是结对编程的最佳配置),我真的没有看到使用这些工具的重点。对于地理位置分散的人来说,他们可能会有所帮助,但它永远不会像坐在旁边那样好。


1
投票

您概述的情况我将其描述为“同步编辑”,而不是Pair Programming。正如其他人所指出的那样,存在很大差异,并且有一些工具旨在允许同时编辑。


0
投票

这可能是有用的,但大多数时候它与结对编程无关(我也持怀疑态度)。

也许对于分布式结对编程的情况,它可能有所帮助 - 不是真正编辑同一个文件,而是让一个程序员编辑文件,而另一个注释对屏幕上的更改。对于那些进行编程并仍然提供实时通信的人来说,这不那么令人不安。

我或多或少谦虚的意见。

© www.soinside.com 2019 - 2024. All rights reserved.