目光博客 eyeHere

《用Python和Pygame写游戏-从入门到精通》作者 ...

↑我也要推荐

说说版本号

发布时间:2013-10-06 23:29:36, 关注:+4113, 赞美:+3, 不爽:+6

原始出处: fallhunter

/*
曾经,我喜欢用这个问题”欺负“新进同事:
“版本号1.9 的下一个版本号是什么?”
如果他们回答2.0,我就会得意地说:应该是1.10
我这个问题其实主要是想说明版本号中的 “.” 和小数点是不一样的,版本号中的 “.” 只是一个分割符而已,它分割开的各个部分相互独立,并没有“进位”的概念。事实是很多程序员新手都搞不清楚这个问题。
但这个问题是经不起仔细推敲的,实际上1.9下一版定为2.0非常常见,甚至定为3.0,5.0都可以。
所以,为了减少争执,我现在喜欢问:
“按照一般约定,版本号1.10 和 1.2 哪个比较新?”
*/

版本号只是个约定

没错,版本号只是个约定,目前比较普遍的格式是:

(Major version).(Minor version).(Revision number).(Build number)

Major version: 主要版本号/大版本号 一般当产品有重大变化时,才会改变这个数字。例如游戏星际争霸1和2,ie6到ie7,都是主版本号的变化,这种变化往往会是对用户产生较大影响的,和前一版有较大不兼容的。

Minor version:副版本号/小版本号 软件产品的小部分改进、优化或增加小的功能点,一般只改动这个数字。这种变化往往不是颠覆性的,对用户产生的影响很小。

Revision number:修订版本号 这个版本号一般只用来表示漏洞和bug修复,也就是说,当一个版本较前一版本相比,仅仅修补了几个bug,那么,一般只会改变这个数字。在这种情况下,用户完全感觉不到产品使用和功能层面的变化。

Build number:构建号 这个一般是软件开发时的构建次数、编译次数或者是代码版本控制系统中的版本号。这个数字对于软件的使用者来说基本没什么用处,它主要是方便开发者可以清楚的知道这个软件是哪一版的代码编译出来的,或者是哪次构建的结果,一般用于归档核查。

附加标识:

  • a或alpha 内测版: 标识该版本是开发团队内部的测试版,尚未公开测试和发行。
  • b或beta 公测版:  该版本是公开的测试版,一般来说不面向全部的用户。
  • rc : release-candidate, 候选发行版,在发行之前进行最后一步验证的版本。
  • r或release 发行版:正式公开的发行版。一般来说,没有特殊标识的版本号都是发行版。

版本号和版本名

版本号这样一串数字对于普通用户来说,还是过于复杂了,所以一些聪明的开发者引入了“版本名”,例如:著名的Windows95 ,实际上就是windows4.0, Office 2003 主版本号是 11, Windows Vista版本是6.0 而Windows 7 的版本号是6.1

“邪恶”的版本号

版本号只不过是个约定,符合约定的版本号设定会方便开发者和用户理解软件产品。而聪明人还能利用这种约定来给自己增加收益。

1979年,Oracle的前身 Relational 软件公司开发出了他们第一个数据库软件 Oracle,在给这个软件设定版本号的时候,他们做了一个非常有创意的决定,把版本号直接设定为2,因为他们认为人们会觉得2比1好。所以,Oracle数据库软件的第一个版本就是 Oracle 2,他们也因此获得了不错的销售。

更有意思的是,同样的事情却未必有同样的结果: 2004 年,java更新到了1.5 或许他们觉得这个版本很牛逼,也或许他们想学习Oracle,于是,他们直接把Java1.5 定为Java5.0 然后,又给这个版本起了一个版本名字:Tiger 。 而在开发者中,大家依然使用1.5这个版本号,于是,1.5, 5.0, 这三个名字不断被混淆,给开发者带来了不少头疼。

参考资料:

  1. http://en.wikipedia.org/wiki/Microsoft_version_numbering
  2. http://en.wikipedia.org/wiki/Oracle_Corporation
  3. http://www.codinghorror.com/blog/2007/02/whats-in-a-version-number-anyway.html

如果你觉得本站对你有帮助,欢迎向本站赞助 :P

使用支付宝捐赠

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠