为什么版本号通常为“2.1.3”而不是2.13?
似乎后者更有意义,因为你可以在它上面运行数值比较器。
答案 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。