版本号一般为 主.次.修 格式,如(1.11.22)
- 主 : 即主版本号,大版本号
对软件提供方来说一般来说是程序有重大变动,接口变动才升级主版本。
对软件使用方来说 强烈不建议随意升级主版本号,对于大项目来说,这必然会给你的程序带来问题。
- 次 : 即次版本号,从版本号,中版本号
对软件提供方来说,增加功能升级次版本号,但接口需要支持向下兼容
对软件使用方来说, 一般只有需要新增功能时,才会升级次版本号,但是很多情况时次版本中除了增加功能,也同时修正了一些bug,故可以酌情考虑升级,但绝对不能自动升级
- 修 : 即修订号,小版本号
对软件提供方来说,只有修改bug时才提升小版本号,不允许新增功能
对软件使用方来说, 小版本号必须升级,建议直接采用自动升级的方式(每种语言的自动升级方式都不同,我以后整理)
tips
- 0.x.x 约定是不稳定版本,1.0.0 以后为稳定版本,正式版本禁止使用0.x.x
- 有人会担心中版本号、小版本号不够用 如 1.9.9 以后怎么办,其实使用版本如 999.999.99999 都是没问题的
- 一般在中间件,底层组件包引用时,尽量制定版本号,对中间件来说自动更新依赖是很可怕的事情。而对于最终端的使用方来说,建议采用如 1.0.+ (gradle方式的版本引用,不同语言不一样)这种方式来自动升级一些二方组件,或者是可信任的三方组件
- 完全严格按照版本号来,在既有功能新增,又有bug修正时,软件提供方会比较麻烦,一般在二方组件封装时,建议可以在中版本中同时存在这种,使用方只需要升级中版本即解决这种问题
- 不必要非常严格按照3个版本号来,如果是非常小和简单的项目,可以考虑 X.Y
- 当然如果部分公司产品版本异常混乱,建议直接采用如ubuntu方式的以时间为版本号的做法,如20.05.21.01,指的的是2020年5月21日的第一个版本,当然这种方式极不推荐
关于版本号如何管理,推荐 博文