为什么版本号通常为“2.1.3”而不是2.13?

时间:2013-01-27 02:28:47

标签: versioning

为什么版本号通常为“2.1.3”而不是2.13?

似乎后者更有意义,因为你可以在它上面运行数值比较器。

3 个答案:

答案 0 :(得分:1)

出于同样的原因,当版本号被编码为整数时(例如Python的sys.hexversion),它用零填充:

你经常需要超过10岁。

许多项目采用 major.minor.bugfix 方案(例如Semantic Versioning)。也许版本2.1.9有一个需要补丁的安全漏洞;你需要将其称为2.1.10(因为调用2.2.0意味着新功能和可能的轻微不兼容性)。也许版本3完全改变了语法,因此您希望继续向版本2添加功能。

也许您的项目只是频繁发布,每个主要版本有超过100个次要/错误修正版本(kernel.org列出2.6.34.14和3.0.60)。

最后,它是字符串。当然,您可以将其解析为双用于比较目的,但是大量语言/库支持“数字”字符串比较(因此“文档9”出现在“文档10”之前); Apache的mod_autoindex甚至将其称为“VersionSort”。

答案 1 :(得分:1)

三级版本控制方案通常反映major.minor.build(或major.minor.revision)。

这三个级别允许降低级别之间变化的重要性。主要1,次要13和主要1,次要12的软件之间的差异应显着大于主要1,次要1,构建3和主要1,次要1,构建2之间的差异。

您可以拆分版本号。并单独比较每个级别。

答案 2 :(得分:-2)

即使只有一个小数点,也不能使用数字比较器。

这是一个例子 考虑版本1.13和1.2,显然1.13是更高版本。但是1.2> 1.13。