12.1-软件版本号的含义与定义方法

一、版本号的含义

  1. 版本号的作用
    很多场合都会用到版本号,这个号码的主要作用就是明确区别每一个发布版本(相当于起了一个唯一的名字)。在软件开发中版本号的具体作用如下:
  • 用于区别开发中的内部测试版本号,方便开发人员和测试人员沟通,明确那个版本的软件有哪些bug存在。
  • 用于对外发布软件的时候明确标示出版本号,方便用户确定当前是使用了那个版本的软件,方便软件更新和问题反馈
  • 方便程序实现自动检测更新功能
  1. 版本号的组成
    版本号一般由“主版本号”+“次版本号”组成。一个版本号一般由一个“主版本号”和多个“次版本号”组成。版本号一般由阿拉伯数字、小数点符号和字母“V”组成。对于一个版本号内可以包括几个“次版本号”没有限制,根据自己的需求来确定个数,但是次版本号的个数一般不超过三个(包括三个)。版本号中的“V”可以参略。只要明确标示这个号码是版本号即可。以下版本号写法都可以:“V1.4.2”、“Version3.6.5”、“版本4.2.7”

  2. 版本号的递增规则

  • 版本号中的数字由正整数组成,比如:1、200、468782等
  • 版本号为正向递增,即新的版本号只能比旧的版本号大。比如:V1.0 -> V1.1 -> V1.2
  • 版本号允许跳跃增加,比如:V1.0 -> V1.4 但是由于使用习惯,不建议随便跳跃增加,导致号码浪费以及产生误解
  1. 版本号的含义
    一般版本号示例:
    [V1.3.5](方括号内为版本号) :表示主版本号为“1”,第二个次版本号为”3“,第三个次版本号为”5“ 。

主版本号的含义:在软件初次发布或在软件修改或增加了全新的突破性的功能的时候一般修改主版本号。
次版本号的含义:由于次版本号可以有多个,每个次版本号更具软件需要来定义,一般的次版本号代表“对外发布新增功能或修改bug版本”、“发布内部测试版本”、“发布定制软件版本”等。可根据实际需要来确定具体使用几个次版本号

复杂版本号示例(用微信举例):
[2.15.162.3566]
[2]主版本号,定义为大功能变化版本编号。比如:在版本2中微信增加了“朋友圈功能”(假设版本1中只有聊天功能)
[15]次版本号,在大版本号下的子功能开发编号,比如在“朋友圈功能”中增加来广告展示功能
[162]次版本号,定义为小功能添加与bug修改的版本编号。比如:添加了“语音转文字功能”,“修改了发送消失偶尔失败的bug”
[3566]次版本号,定义为内部开发与测试版本,方便研发组和测试组之间合作完成开发和测试。

简化举例:x 表示一个正整数。
[2.x.x.x] —(增加了“朋友圈功能”发布版本)—> [3.x.x.x]
[x.15.x.x] —(在大版本中增加子功能)—> [x.16.x.x]
[x.x.162.x] —(修改了发送消失偶尔失败的bug发布版本)—> [x.x.163.x]
[x.x.x.3566] —(测试某某bug是否修改发布内部版本)—> [x.x.x.3567]

  1. 次版本号的清零
    另外要注意主版本号、次版本号等之间有相互关联,每个次版本号不是一直往上涨。而是在必要的时候清零。比如:
    V1.2.3 -> V1.2.4 -> V1.3.0 :这里第二位次版本号从2变为3的时候,清零了第三位次版本号。这是由于在第二位次版本号更新的情况下,第三位次版本号变得没有意义了,因此需要清零。注意这里的清零并不是按照10进制进位清零。而是根据编号的实际意义来确定是否要清零,否则次版本号可以持续向上增长。

  2. 额外说明
    这里介绍的版本格式和意义只是一个常用的定义方法。在实际开发中存在各种各样的定义方法,并没有唯一的定义格式。虽然可以根据自己需求自定义版本格式。但是建议使用这个常用定义方法。因为便于使用人员快速准确解读版本号含义。

二、版本号在代码中的定义方法

  • C++:
    const int VersionCode = 1; //add 1 each time release a version
    const QString VersionStr = “1.0.1”;

  • C#:
    public const string VERSION_STR = “1.2.6”;
    public const int VERSION_CODE = 126;

  • Android Java:
    android {
    defaultConfig {
    applicationId “com.xxx.xxxx”
    versionCode 11
    versionName “1.2.8”
    }
    }

VersionName(版本号名字):主要用于程序展示版本号,因此用字符串类型定义
VersionCode(版本编号):程序版本的内部编号。使用整数类型定义的,它存在的意义是为了更方便代码判断程序版本序号,方便判断当前软件是否有更新(通过对比自己软件的版本编号和更新服务器上了软件编号)。每次发布一个新版本软件都要给这个号码加1(无论是因为什么原因对软件做了更改并发布新版本)表示软件有修改。

发布了88 篇原创文章 · 获赞 45 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/robert_cysy/article/details/104238150
今日推荐