版本如何工作以及如何衡量?
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。
您看到程序或游戏的版本显示为 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。