app软件版本号命名规则_文件版本号命名规则

app软件版本号命名规则_文件版本号命名规则为什么需要规范APP命名?当我们在需求及业务明确后,产品及设计已经做出了对应的文档及UI图,那么进入研发阶段开始编码实现功能,当功能实现的差不多了之后,期间会需要签出不同的包作为展示或测试,不管当前的进度处于什么阶段,签出对应安装包的时候都会对其进行命名并发送给测试人员。一般往往通过命名,就可以大概知道当前签出的包处于哪个版本阶段,Alpha阶段?Beta阶段?R

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

转载请注明gao_chun的Blog:http://blog.csdn.net/gao_chun/article/details/72417127


APP版本号命名规范及原则




项目开发流程


为什么需要规范APP命名?

当我们在需求及业务明确后,产品及设计已经做出了对应的文档及UI图,那么进入研发阶段开始编码实现功能,当功能实现的差不多了之后,期间会需要签出不同的包作为展示或测试,不管当前的进度处于什么阶段,签出对应安装包的时候都会对其进行命名并发送给测试人员。一般往往通过命名,就可以大概知道当前签出的包处于哪个版本阶段,Alpha阶段?Beta阶段?RC阶段?测试人员测试时心里也会有个数。

虽然在很多时候定义App的版本命名规则时随便一拍脑袋就定下来了,而且觉得大家在交流沟通的时候都是一串数字而已,但统一规范版本号后,不管是做更新升级,后台版本接口更新,版本检测,沟通交流等都会方便不少,为了在软件产品生命周期中更好的沟通和标记,我们对APP版本号命名做出一定的规范还是很有必要的。


版本命名的规范与原则

在Android中版本的意义有哪些呢?Android中有 versionCode 和 versionName,他们分别所代表的意思如下:

  • verisonCode 是作为一个内部版本号,必须是整型。用来区分版本的新旧,版本号越大,代表距当前越近的发布版本。这个数字不是给用户使用的,是给开发者内部使用的。

  • versionName 是向用户展示的版本号,必须是字符串,这个版本号就是我们可以用来遵循规范的位置,可以作为版本比较的,判断是否需要提示更新、是否需要强制更新的依据。

很多公司对版本命名都有自己的一套规范,例如:

  • <APP名称>_<主版本号>.<子版本号>_<SVN最后提交数> 如:YinLiFang_1.0_10242.apk

  • <APP名称>_<主版本号>.<子版本号>.<阶段版本号>_<日期版本号加希腊字母版本号>如: YinLiFang_1.0.0.170517_R.apk

  • <APP名称>_<主版本号>.<子版本号>_<日期版本号加希腊字母版本号>如: YinLiFang_1.0.170517_beta.apk

还有其他一些会在主版本号前加一个 v 等等,大体上想表达的意思都差不多,为了规范命名,为了方便以后管理,为了描述当前的包处于哪个阶段。这里大致介绍下软件版本号的组成部分,上面也给出了一些示例,一般由四部分组成:<主版本号>.<子版本号>.<阶段版本号>.<日期版本号加希腊字母版本号> 。 如:1.1.2.170517_alpha 。

那么希腊字母版本号是什么意思呢?
希腊字母版本号共有5种,分别是:base、alpha、beta、rc、release。 完全的版本号定义分三项: <主版本号.><子版本号>.<阶段版本号>(即:1.1.0),下面对版本阶段进行下简单的介绍。


希腊字母所代表的版本阶段介绍

Alpha版:也叫α版,此版本主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。

Beta版:此版本相对于α版已经有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。

RC版:此版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几,测试人员基本通过的版本。

Release版:此版本意味着“最终版本”、“上线版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号(R)。


版本号修改规则

以 YinLiFang_1.0.0.170517_beta.apk 为例

主版本号(1):当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。

子版本号(0):当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。

阶段版本号(0):一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。此版本号由项目经理决定是否修改。

日期版本号(170517):用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。

希腊字母版本号(beta)::此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。

以上便是对APP版本号命名规范及原则的介绍和总结,不论采用哪种规则去定义,目的都是为了能在软件产品生命周期中更好的沟通和标记。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195231.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux内核编译详解[通俗易懂]

    linux内核编译详解[通俗易懂]前言Linux内核是Linux操作系统的核心,也是整个Linux功能体现的核心,就如同发动机在汽车中的重要性。内核主要功能包括进程管理、内存管理、文件管理、设备管理、网络管理等。Linux内核是单内核设计,但却采用了微内核的模块化设计,支持内核线程以及动态装载内核模块的能力。Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果…

    2022年7月23日
  • python 一维数组赋值_python二维数组转化为一维数组

    python 一维数组赋值_python二维数组转化为一维数组当我们使用arr=[[0]*5]*5 初始化一个二维数组时,会得到一个5*5的数组,In[1]:arr=[[0]*5]*5In[2]:arrOut[2]:[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]然后对这个二维数组某个元素进行赋值…

    2022年10月25日
  • SOAP协议的深度解析

    SOAP协议的深度解析笔记上传:1.soap与http的区别:HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。( HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少邮票等。。。。)而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等  (SOAP就是你们之间交流的协议,负责把你所需要表达的意思写在信纸上,同时也负责让对方能够看得懂你的信。)2.s…

    2022年7月13日
  • p6使用教程_p6slite

    p6使用教程_p6slite文章目录简介1、Maven依赖2、 切换driverClass(必须)3、增加配置文件4、自定义配置类简介p6spy是一个开源项目,通常使用它来跟踪数据库操作,查看程序运行过程中执行的sql语句。展示效果如下:SQL耗时【7毫秒】连接信息【jdbc:p6spy:mysql://192.168.1.108:3306/leimingtech_member?allowMultiQueries=t…

    2022年10月6日
  • JWT token无效invalid signature

    JWT token无效invalid signaturedjango+JWT生成发token无效请求需要验证的接口,返回invalidsignature我的user模型是这样的后面看https://www.jianshu.com/p/f0a55f39dfa8链接说,jwt生成token时默认是需要用到username,并且username需要保证唯一,或者重写UserManager的get_by_natura…

    2022年9月13日
  • pycharm安装的基本步骤_pycharm32位怎么安装

    pycharm安装的基本步骤_pycharm32位怎么安装pycharm的安装步骤

    2022年8月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号