也许这是一个愚蠢的问题,但我总是假设每个数字描述的时期代表了软件的一个组成部分.如果这是真的,他们会代表不同的东西吗?我想开始为我的软件的不同版本分配版本,但我不确定它应该如何构建.我的软件有五个不同的组件.
在版本1.9.0.1中:
1:主要修订版(新UI,许多新功能,概念变更等)
9:次要修订(可能是对搜索框的更改,添加了1个功能,修复了错误)
0:错误修复版本
1:内部版本号(如果使用的话) - 这就是为什么你看到使用类似2.0.4.2709之类的.NET框架的原因
你不会发现很多应用程序可以分为四个等级,3通常就足够了.
有语义版本控制规范
这是2.0版的摘要:
给定版本号MAJOR.MINOR.PATCH,增加:
MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes.预发布和构建元数据的附加标签可用作MAJOR.MINOR.PATCH格式的扩展.
它可以是非常随意的,并且因产品而异.例如,对于Ubuntu发行版,8.04指的是2008.April
通常,最左侧(主要)数字表示主要版本,右侧越远,所涉及的变化越小.
MAJOR.MINOR [.maintenance [.build]]
http://en.wikipedia.org/wiki/Software_versioning#Numeric
数字可以像其他答案所描述的那样有用,但考虑它们如何也可能毫无意义......太阳,你知道SUN,java:1.2,1.3,1.4 1.5或5然后6.在旧的Apple II版本中,数字是Meant一些东西.如今,人们正在放弃版本号,并使用愚蠢的名字,如"Feisty fig"(或类似的东西)和"hardy heron","europa"和"ganymede".当然,这远没那么有用,因为在你停止更改程序之前,你将会用完木星的卫星,而且由于没有明显的顺序,你无法分辨出哪个更新.
分数越多,释放越小.除此之外没有真正可靠的标准 - 根据项目维护者的决定,可能意味着不同的东西.
例如,WordPress沿着这些方向发展:
1.6 - > 2.0 - > 2.0.1 - > 2.0.2 - > 2.1 - > 2.1.1 - > 2.2 ......
1.6到2.0将是一个很大的发布 - 功能,界面更改,API的重大更改,一些1.6模板和插件的破坏等.2.0到2.0.1将是次要版本 - 可能修复安全漏洞.2.0.2到2.1将是重要的发布 - 通常是新功能.