![]() |
1
8
对于编程兼容性检查,使用显式分隔的版本号更容易。 例如。:
|
![]() |
2
10
在字符串中包含版本信息通常是一个坏主意。
例如,可以
从未
作为Ruby1.10,因为测试兼容性的应用程序太多
这会导致很多混乱。例如,即使是许多经验丰富的Ruby社区领导者,仍在散布关于Ruby1.9是开发版本的错误信息, 尽管 版本控制策略的变更已经被广泛传播。 Opera Web浏览器是另一个例子。当Opera10.0发布时,它最初也报告了它的版本号,以及10.0。然而,在betatest期间,很明显许多网站,其中非常大和受人尊敬的网站,完全破产了,因为Opera是第一个进入10.0的主流浏览器,这些网站正在做简单的字符串比较,因此认为他们正在处理Opera 1.0,它不支持javascript或css。这个 只有 可行的解决方案是Opera10.0的最终版本将9.80打印为版本号。
MarkRussinovich在介绍微软PDC的Windows7内核时,对比较版本号也大发雷霆。他向观众解释了为什么早期版本中的Windows7的版本号是6.1。原因是许多应用程序要么降级,要么根本无法工作。有些人会简单地检查
因此,微软将版本号改为6.1,而Russinovich半开玩笑,半悲伤,严肃地说,这显然意味着Windows8的版本号必须是6.1.1。等等。 所以,长话短说吧:程序员太笨了,不能自己解析版本号,你 必须 为他们做。 |