Vcs 调查
2010 年 3 月 8 日
当我讨论 版本控制工具 时,我说它是一个非科学的意见集合。当我这样做的时候,我意识到我可以通过进行一项调查,在我的分析中添加一些虚假但迷人的数字。谷歌的电子表格使进行调查的机制变得非常简单,所以我无法抗拒。
我在 2010 年 2 月 23 日至 2010 年 3 月 3 日期间,在 Thoughtworks 软件开发邮件列表中进行了调查。我收到了 99 条回复。在调查中,我要求每个人使用以下选项对一些版本控制工具进行评分
- 最佳选择:最好的 VCS 或同等最佳
- 还可以:不是最好的,但你还可以接受。
- 有问题的:你会争辩说团队应该使用其他工具
- 危险的:这个工具真的很糟糕,Thoughtworks 应该努力改变它
- 没有意见:你没有使用过它
结果如下
工具 | 最佳 | 还可以 | 有问题的 | 危险的 | 没有意见 | 有效回复 | 批准率 |
---|---|---|---|---|---|---|---|
Subversion | 20 | 72 | 6 | 1 | 0 | 99 | 93% |
git | 65 | 19 | 1 | 0 | 14 | 85 | 99% |
Mercurial | 33 | 27 | 2 | 0 | 36 | 62 | 97% |
ClearCase | 0 | 3 | 14 | 41 | 41 | 58 | 5% |
TFS | 0 | 0 | 32 | 22 | 44 | 54 | 0% |
CVS | 0 | 14 | 59 | 11 | 15 | 84 | 17% |
Bazaar | 1 | 13 | 3 | 0 | 80 | 17 | 82% |
Perforce | 1 | 26 | 16 | 1 | 54 | 44 | 61% |
VSS | 1 | 1 | 11 | 64 | 22 | 77 | 3% |
除了原始汇总值之外,我还在这里添加了两个计算列来帮助总结结果。
- 有效回复:不包括“没有意见”的回复总数。(例如,对于 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)与落后工具之间的巨大批准差距——本质上是 版本控制工具 中的要点。