版本如何工作以及如何衡量?

How do versions work and how are they measured?

您看到程序或游戏的版本显示为 1.2.5 (Minecraft)、Version 3 Build 3000 (Sublime Text 3) 或 1.9.2a0(Python 的 Pygame) .

这些系统如何工作以及如何测量?

关于人们遵循的唯一一致规则是更高版本的版本号更高(甚至这只是一个准则)。

无论如何,构成 "higher" 的因素往往表明开发人员灰质中存在一些致命缺陷。

一种常见的简单方法(也是我使用的方法)是 <major>.<minor>,其中 <minor> 增加用于相对简单的更改(小的改进或错误修复)和 <major> 增加(重置 <minor>) 以进行更实质性的更改,例如大量新功能。

但是,如前所述,这只是 一种 的可能性。 IBM 倾向于使用 VxRxMx model 表示版本、发行版和 mod 级别,一些公司(显然像 Microsoft 或 Sublime Text)插入内部版本号,其他公司根据构建如 -beta.cygwin.

可能性几乎是无穷无尽的。

老实说,它们非常随意,完全取决于开发人员的一时兴起。

但是,开发人员遵循几种常见的约定,最流行的形式是 major.minor[.build[.revision]],例如 Minecraft 1.2.5 示例。此约定可用于传达更改的重要性;例如,主要修订可能会破坏兼容性,而次要修订可能会包含新功能,而新版本可能仅包含错误修复。

维基百科中有更多信息:https://en.wikipedia.org/wiki/Software_versioning