软件项目版本命名规范

软件项目版本命名规范

参考:http://liudaoru.iteye.com/blog/287266

目前采用GNU 风格的版本号命名格式 :
主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124

应根据下面的约定使用这些部分:
Major :具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写,这些重写使得无法实现向后兼容性。
Minor :如果两个程序集的名称和主版本号相同,而次版本号不同,这指示显著增强,但照顾到了向后兼容性。例如,这适用于产品的修正版或完全向后兼容的新版本。
Build :内部版本号的不同表示对相同源所作的重新编译。这适合于更改处理器、平台或编译器的情况。
Revision :名称、主版本号和次版本号都相同但修订号不同的程序集应是完全可互换的。这适用于修复以前发布的程序集中的安全漏洞。
程序集的只有内部版本号或修订号不同的后续版本被认为是先前版本的修补程序 (Hotfix) 更新。

 

GNU 风格的版本号管理策略:
1.项目初版本时 , 版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0, 如果你为人很低调 , 我想你会选择那个主版本号为 0 的方式 ;
2.当项目在进行了局部修改或 bug 修正时 , 主版本号和子版本号都不变 , 修正版本号加 1;
3. 当项目在原有的基础上增加了部分功能时 , 主版本号不变 , 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉 ;
4.当项目在进行了重大修改或局部修正累积较多 , 而导致项目整体发生全局变化时 , 主版本号加 1;
5.另外 , 编译版本号一般是编译器在编译过程中自动生成的 , 我们只定义其格式 , 并不进行人为控制 .

 

发给测试人员使用的是beta版。 bug修复,回归测试通过后,发布正式版(最终用户使用正式版), 生成环境中必须使用正式版。
beta以后,后续版本可以是Gamma, Current, RC (Release Candidate), Release, Stable 等, 
也可以在后面加入 1 位数字的版本号, 比如RC-1, RC-2, RC-3.

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

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

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


相关推荐

  • Java map转scala map

    Java map转scala mappublicstaticvoidmain(String[]args){Map,String>map=newHashMap,String>(){{put(“1″,”2”);}};scala.collection.mutable.Map,String>mapTest=JavaConverters.mapAsScalaMapConverter(map).a

    2022年7月15日
    15
  • Linux中磁盘数据被误删,怎么恢复

    如果你要是对linux分区和挂载不理解,建议看下:https://blog.csdn.net/qq_41276657/article/details/105168312eg:假如文件被不小心删除操作:1,先卸载磁盘,防止数据被新添加数据替换2,下载extundelete恢复工具https://pan.baidu.com/s/1ocBNA5KTgmVEeFa30-fkSQ3,如果用ex…

    2022年4月3日
    62
  • layUI展示树状treetable树形表格完整代码

    layUI展示树状treetable树形表格完整代码前言:因项目功能需要,在shiro权限管理模块中需要使用树状展示,前端使用的layUI框架,在官网的开发文档上没有找到树状表格的内容。只有树状菜单的文档:https://www.layui.com/doc/modules/tree.html树状表格步骤如下:1、首先下载所需调用的文件。下载链接:https://download.csdn.net/download/qq_35393472/10…

    2022年6月14日
    45
  • Docker使用方法_docker工作原理

    Docker使用方法_docker工作原理Docker作为轻量级虚拟化隔离解决方案,具有简单高效、移植方便、性能开销低等优势,在渗透测试领域可以利用Docker进行靶场环境搭建、工具开发测试、扫描工具配置、主机群部署等,可以让渗透测试工作更加简洁高效。

    2025年6月6日
    2
  • ubuntu 通过命令行 卸载软件_命令提示符卸载软件

    ubuntu 通过命令行 卸载软件_命令提示符卸载软件1、在终端里apt-get安装的软件:安装软件sudo apt-getinstallsoftname1softname2softname3……卸载软件sudoapt-getremovesoftname1softname2softname3……卸载并清除配置sudo apt-getremove–purgesoftname1更新软件信息数据库sudoapt-getu…

    2025年10月13日
    2
  • Redis(Redis简介和基本命令)[通俗易懂]

    Redis(Redis简介和基本命令)[通俗易懂]这里写目录标题NoSQLRedisNoSQLNoSQL == Not Only SQL(不仅仅是关系型数据库)出现原因:随着web2.0互联网的诞生,传统的关系型数据库很难对付web2.0时代!尤其是超大规模的高并发的社区,暴露出来很多难以克服的问题,NoSQL在当今大数据环境下发展的十分迅速,Redis是发展最快的。RDBMS 和 NoSQL的对比RDBMS 结构化组织SQL数据和关系都存在单独的表中 row col操作,数据定义语言严格的一致性基础的事务NoSQL不仅仅是数

    2022年8月8日
    5

发表回复

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

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