[WikiPedia]软件版本号

来源:互联网 发布:java函数式编程 编辑:程序博客网 时间:2024/05/08 00:07

软件版本号

维基百科,自由的百科全书
跳转到: 导航,搜索

跳过字词转换说明

 

软件版本编号订定是指为软件设置版本号码的方式。通常,版本号码会以数字订定,但亦有不同的方式。

目录

[隐藏]
  • 1 小数
    • 1.1 实例
  • 2 日期
    • 2.1 实例
  • 3 年份
    • 3.1 实例
  • 4 数学常数
    • 4.1 实例
  • 5 英文缩写
    • 5.1 实例
  • 6 特别注意事项
    • 6.1 混合使用各种订定方式
    • 6.2 同时拥有两个版本编号
    • 6.3 小数版本序号可能会跳序
  • 7 在软件以外的领域
  • 8 参见
  • 9 参考资料及注释
  • 10 外部链接

[编辑] 小数

以小数去订定版本号码的例子

这是最常用的一种订定方式。大部份软件的版号都是用此方法去计算。一个以此方式来订定编号的例子如:2.4。通常订定规则为:

major.minor(.build)
major是最大的版本编号,minor为其次,某些软件可能再细分作build,为更小的版本编号。

通常,正式版的版本编号为“1.0”。1.0以下的版本(0.x)为测试版,代表仍有一些重大错误(bugs),未正式推出[1]

在新版本推出时,应更新majorminor或是build(如有)的版号,决定于变更的大小。当有极大的更新时,会增加major的版号。而当有大更新,但不至于更新major时,会更新minor的版号。若更新比较小,例如只是除虫(bug fixing),则会更新build的版号。以下是一个例子:

1.0→1.0.1→1.0.2→1.1→1.1.1→2.0→2.1→2.1.1→3.0→…

以上例子中,1.0至1.0.1至1.0.2、1.1至1.1.1、2.1至2.1.1都是小更新;1.0.2至1.1、2.0至2.1都是较大的更新;而1.1.1至2.0和2.1.1至3.0则是重大更新。

有时,小数版本号码后面会有“a”、“b”、“rc”等字样,代表某版本的测试版。“a”、“b”、“rc”分别代表“alpha”、“beta”和“release candidate”。(详见软件出版周期,en:Software release life cycle)例如“2.0a”是2.0的alpha测试版,接着可能发布“2.0b”,是2.0的beta测试版。跟着,又可能出现“2.0b2”,代表2.0的第2个beta测试版。当beta测试完结后,又可能推出“2.0rc1”、“2.0rc2”两个版本,分别代表2.0的第一和第二个release candidate测试版。当一切测试退出后,就会有“2.0”正式版。

[编辑] 实例

只有majorminor的软件有如MediaWiki。当MediaWiki发布1.9版本后,下一个版本是1.10。

Mozilla Firefox的3.x版本有majorminorbuild。例如其中两个版本为3.0和3.0.1。而Firefox的2.x版本更有四个数字,此时版本结构改为major.minor.maintenance.build。例如Firefox 2.x的其中一个版本为2.0.0.14。(更多数据:Mozilla Firefox历史)

[编辑] 日期

除了依照版本发布次序逐个数以外,软件版本编号亦有可能使用日期。例如版本“20080101”代表该版本于2008年1月1日发布。通常日期的排列方法会是“YYYY-MM-DD”,因为这样做的好处是,当电脑排序时,可以自动分辨哪个是较旧或较新的版本 [2]

有时候,版本编号更会由小数和日期结合,即是类以1.5.20080101等方式[3]。。。

[编辑] 实例

使用小数和日期结合的版本编号软件,例如Firefox的其中一个扩展“IE Tab”的其中一个版本编号为1.5.20080823。

而Ubuntu亦是采用日期的订定版本编号方式,但却看起来像以普通小号订定。例如Ubuntu 8.04版本代表该版本于2008年4月发布。事际上,由于Ubuntu并非每个月发布,因此版本编号会跳序。而一年只有12个月,所以亦没有像6.13这样的版本。

[编辑] 年份

有些软件,尤其不会在一年中出版两次的软件会使用年份作版本编号。例如2003版代表该软件于2003年发布。有时软件亦采用两字的年份缩写,例如以04代表2004年。

[编辑] 实例

微软的很多产品都以此方式订定版本编号。例如Windows 95、Windows 2000、Microsoft Office 2007等。

[编辑] 数学常数

有些软件采用数学常数来进行订定版本编号。具体方法为先选定一个数学常数,每个新版本都距离该数学常数更近。例如选用圆周率的软件,其版本应为3、3.1、3.14、3.141、……

[编辑] 实例

TeX选定的数学常数为π。而METAFONT选定的数学常数则为e

[编辑] 英文缩写

有些软件采用英文缩写来为版本制定编号。

[编辑] 实例

Macromedia于2004年推出Flash MX。Adobe收购Macromedia后,为其推出之后续版本为Flash CS2,当中“CS”代表Creative Suite。

Windows有两个版本采用英文缩写作版本编号,分别是Windows Me和Windows XP。“Me”代表“Millennium”(千禧年)或“me”(自己);“XP”代表“experience”(体验),当读出experience时,读音像读出x和p。

Ubuntu于2008年4月推出8.04 LTS版本。Ubuntu将长期为8.04版本提供技术支持。支持时间最少为三年。LTS是Long Term Support的英文缩写,意为长期支持

[编辑] 特别注意事项

[编辑] 混合使用各种订定方式

有些软件会混合使用各种版本编号订定方式,即不同的版本分别采用不同的订定方式。

例如Windows,曾采用普通小数方式(Windows 1.0至Windows 3.11),年份(Windows 95、Windows 98、Windows 2000),缩写(Windows Me、Windows XP)和英文字(Windows Vista)。

[编辑] 同时拥有两个版本编号

有些软件会同时拥用两个版本编号,即是以两种不同的订定方式,赋予同一个版本两个编号。

例如Windows:Windows 95亦即Windows 4.0,Windows 98亦即Windows 4.10,Windows Me亦即Windows 4.90,Windows 2000亦即NT 5.0,Windows XP亦即NT 5.1,Windows Vista亦即NT 6.0,Windows 7亦即NT 6.1。[4]

[编辑] 小数版本序号可能会跳序

有些软件的小数版本序号可能会出现跳序。此处“跳序”是指同一个软件,两个相邻的使用小数版本序号的版本,并不是majorminorbuild其中一个值相差1。

例如Simutrans自2005年的major版本序号为86.x、88.x、89.x、99.x、100.x。当中86至88和89至99出现了跳序。[5]

除此以外,还有软件会因为“不幸运数字”(例如4、13)的原因而跳序。

[编辑] 在软件以外的领域

除了软件以外,还有其他东西也采用类似的版本编号订定。

  • 电影的续集通常为“XXX 2”,当中XXX是电影名称。如果再有续集,则会是“XXX 3”。
    • 例如终结者终结者2终结者3
  • Web 2.0并不是指软件“Web”的第二个版本,而是指互联网的一个新定义,新转变。

[编辑] 参见

  • 软件
  • 版本
  • 软件出版周期

[编辑] 参考资料及注释

  1. ^ Advogato: Version numbering madness
  2. ^ International standard date and time notation
  3. ^ Coding Horror: What's In a Version Number, Anyway?
  4. ^ 各版本的两个版本编号可于该系统的“运行”视窗中输入winver取得。
  5. ^ The International Simutrans Forum Archive (Simutrans官方论坛存盘)

[编辑] 外部链接

  • Windows Version Numbers
  • TN 1132 - Version Territory, the Apple technical note specifying the use of the NumVersion scheme
  • Software Release Practice Howto
  • http://netrik.sourceforge.net/?versions.html
  • http://www.everything2.com/index.pl?node_id=1128644
  • http://pear.php.net/group/docs/20040226-vn.php
  • http://openacs.org/doc/openacs-5-0-0/eng-standards-versioning.html
  • http://wiki.eclipse.org/index.php/Version_Numbering
  • http://www.linux.com/articles/45507
  • http://blogs.ittoolbox.com/database/soup/archives/guide-to-postgresql-version-numbers-19177
  • http://www.xfree86.org/4.1.0/Versions2.html
  • http://www.phpbb.com/mods/documentation/appendix/versioning/index.php
  • https://help.ubuntu.com/6.10/ubuntu/about-ubuntu/C/version-numbers.html
原创粉丝点击