我们中的一些人可以说,分布式版本控制系统(例如Mercurial,git)只会对开发人员产生积极的影响(在正确的条件下:更高的生产率、更高的代码库稳定性等),但是,在什么情况下,客户(即软件开发生命周期结果的观察者)可以告诉开发人员使用CVCS和DVCS有什么不同呢?
任何一个有经验之谈的人都会得到一个大的双巧克力曲奇,上面放着鲜奶油和樱桃。
注意:“告诉差异”并不意味着“知道涉及DVCS”,甚至也不意味着“知道DVCS是什么”
发布于 2012-05-11 07:53:54
除了间接的更好的工具允许程序员做更好的工作外,有些情况下可能会有更直接的效果。如果您是为另一家公司开发的,并且由于任何原因无法从另一家公司访问内部网,那么您需要在客户站点调试和修复一些功能,在笔记本上使用完整历史记录的工作版本控制是非常有帮助的。
这事在我身上发生过几次。在一种情况下,一位同事去客户站点调试一些问题,修复了它,但是我们最终在文件共享服务器上发送了修改过的源代码,因为我们需要将修复与其他一些更改集成在一起。在其他情况下,在笔记本上有合理的最近来源并在返回后进行修改就足够了,但使用DVCS肯定会更容易(客户至少要4小时的路程,有时需要飞行,所以不可能在一天结束时到我们的办公室停留)。
发布于 2012-05-11 03:32:53
绝对一点儿没错。
使用最佳可用工具的程序员将创造更好的最终结果。DVCS是一个非常好的工具,具有非常实际的好处。
将DVCS与根本没有源代码控制进行比较就像将油漆比作泥浆一样。在你的房子墙壁上使用高质量油漆的画家会比使用泥浆的画家做得更好。
比较DVCS和非分布式VCS不是很清楚,更像比较高质量的油漆和低质量的油漆。但差别仍然存在。
如果您使用DVCS,您将编写代码的速度稍微快一点,并且bug会稍微少一些。效果有多明显将取决于代码的复杂程度。
与从事复杂项目的程序员相比,在一个简单项目上由他/她自己工作的程序员所获得的好处会更少(但仍有一些)。
没有任何巨大的功能可以使DVCS比VCS更好,但是有一百万个小的。几年前,当他们是新的,可能是错误,这是一个有效的论点,反对使用DVCS,但今天的软件是尝试和正确的。
高质量的油漆比便宜的油漆贵。但是DVCS比VCS的好处之一是使用一个高质量的工具更便宜(假设你按小时付费)。你应该在你参与的每一个项目中使用DVCS。即使你是项目中唯一使用它的人。
https://softwareengineering.stackexchange.com/questions/148168
复制相似问题