Vcs 调查

2010 年 3 月 8 日

当我讨论 版本控制工具 时,我说它是一个非科学的意见集合。当我这样做的时候,我意识到我可以通过进行一项调查,在我的分析中添加一些虚假但迷人的数字。谷歌的电子表格使进行调查的机制变得非常简单,所以我无法抗拒。

我在 2010 年 2 月 23 日至 2010 年 3 月 3 日期间,在 Thoughtworks 软件开发邮件列表中进行了调查。我收到了 99 条回复。在调查中,我要求每个人使用以下选项对一些版本控制工具进行评分

  • 最佳选择:最好的 VCS 或同等最佳
  • 还可以:不是最好的,但你还可以接受。
  • 有问题的:你会争辩说团队应该使用其他工具
  • 危险的:这个工具真的很糟糕,Thoughtworks 应该努力改变它
  • 没有意见:你没有使用过它

结果如下

工具最佳还可以有问题的危险的没有意见有效回复批准率
Subversion20726109993%
git651910148599%
Mercurial332720366297%
ClearCase03144141585%
TFS00322244540%
CVS0145911158417%
Bazaar11330801782%
Perforce126161544461%
VSS11116422773%

除了原始汇总值之外,我还在这里添加了两个计算列来帮助总结结果。

  • 有效回复:不包括“没有意见”的回复总数。(例如,对于 git:65 + 19 + 1 + 0)
  • 批准率:最佳和还可以的回复之和除以有效回复,以百分比表示。(例如,对于 git:(65 + 19)/ 85)

该图显示了批准率和有效回复的散点图。正如你所看到的,在 Subversion、git 和 Mercurial 周围有一个明显的集群,它们具有很高的批准率和大量的回复。同样清楚的是,这三者与 Bazaar 和 Perforce 之间的批准率存在很大差异,而其他工具则与之不同。

虽然该图很好地捕捉了主要信息,但我应该提一下其他一些细微之处。

  • 虽然 Subversion、git 和 Mercurial 三者在批准率上聚集在一起,但 git 的最佳得分明显更高:(65 对 20 和 33)。
  • VSS 收到了最多的“危险”回复,但有几个人认可了它。
  • TFS 和 ClearCase 都没有得到太多认可,但 ClearCase 的“危险”回复比 TFS 多(41 对 22)。
  • 不要对微小的差异过分解读,因为我相信它们并不显著。我相信 VSS、TFS 和 ClearCase 之间的批准率差异并不显著,但它们与领先工具之间的差异是显著的。

一些注意事项。这是一项针对遵循我们内部软件开发讨论列表的 ThoughtWorkers 的意见调查,仅此而已。他们中的一些人可能受到我之前文章的影响(虽然不太可能,因为我从未成功地让我的 ThoughtBot 意见控制软件可靠地工作)。对工具的意见往往受到组织本身的流程的影响,而不是工具本身。但尽管如此,我认为这是一个有趣的数据点。

我还应该强调一个重要的要点,从这一点中得出的结论不是那些数字接近的工具之间的比较,例如比较 git 和 Mercurial 或比较 TFS 和 ClearCase。任何类似的调查都有一定的噪声,我认为这里的噪声大于这种差异。重要的是,领先工具(Subversion、git 和 Mercurial)与落后工具之间的巨大批准差距——本质上是 版本控制工具 中的要点。