版本号命名规则

简介: 版本号命名规则

0. 前言

版本号的命名和更新问题,是开发者的责任感和前瞻性的问题。

1. 项目立项时

版本格式:0.0.0


2. 开发阶段时

此时系统尚不稳定,随时可能增减或者修正API。

版本格式:0.次版本号.修订号,版本号递增规则如下:

  1. 主版本号:0表示正在开发阶段;
  2. 次版本号:增加新的功能时增加;
  3. 修订号:只要有改动就增加。


3. 开发完成后,发布API,或进入二方库时

此时系统已经基本稳定,可以对外公布使用,意味着API不再会被随意修改。

版本格式:1.0.0


4. 后续的维护升级时

没有特殊需求不会修改API,尤其是对API进行不兼容的升级,或弃用时要特别谨慎。如果需要弃用API,要提前在一个或几个版本中加入弃用标示或注解,并在文档中,建议用户更换为其他可替换的API,然后在下个主版本号升级时,再真正丢掉弃用的API。

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

  1. 主版本号:全盘重构时增加;重大功能或方向改变时增加;大范围不兼容之前的接口时增加;
  2. 次版本号:增加新的业务功能时增加;
  3. 修订号:增加新的接口时增加;在接口不变的情况下,增加接口的非必填属性时增加;增强和扩展接口功能时增加。

新增接口:如果该新增的接口只是对现有的业务线进行扩展则增加修订号;如果是为了增加新的业务线则增加次版本号。


5. 先行版本号和开发版本号

先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

  1. 先行版本号(Pre-release):意味该版本不稳定,可能存在兼容性问题。
    其格式为:X.Y.Z.[a-c][正整数],如 1.0.0.a1,1.0.0.b99,1.0.0.c1000。
  2. 开发版本号:常用于 CI-CD(持续集成和持续交付)。
    格式为 X.Y.Z-dev[正整数],如 1.0.1-dev4。
  3. 版本号的排序规则为依次比较主版本号、次版本号和修订号的数值,如 1.0.0 < 1.0.1 < 1.1.1 < 2.0.0;对于先行版本号和开发版本号,有:1.0.0.a100 < 1.0.0,2.1.0-dev3 < 2.1.0;当存在字母时,以 ASCII 的排序来比较,如 1.0.0.a1 < 1.0.0.b1。


特别注意:

1. 版本一经发布,不得修改其内容,任何修改必须在新版本发布!

2. 在接口还没有确定下来的时候,应该先使用开发版本号。

3. 业务功能 > 功能 > 接口

推荐阅读:

版本号命名指南

版本号命名规则-语义化版本 2.0.0 | Semantic Versioning

目录
相关文章
|
存储 JavaScript
uniapp (vue3)生成二维码
uniapp (vue3)生成二维码
1866 0
|
存储 运维 数据挖掘
技术干货:腾讯云为什么选择磁带库?
随着全球冷数据的持续爆炸,以及磁带介质数据密度提升的巨大潜力,磁带库的前景充满想象力。这篇文章讲述了磁带库在腾讯大规模落地的技术故事。
3865 0
C++编码规范——日积月累、持续更新
C++编码规范——日积月累、持续更新
617 0
|
SQL 分布式计算 资源调度
MaxCompute常见错误汇总(更新ing)
从今天开始,小编会为大家陆续解读MaxCompute常见问题,帮助大家快速上手MaxCompute,玩转大数据计算平台。
25159 8
|
机器学习/深度学习 人工智能 监控
什么是信息化?什么是数字化?这两者有什么联系和区别?
本文探讨了信息化与数字化的概念、联系及区别。信息化是将线下业务流程线上化,提升效率;数字化则基于大数据和新技术优化企业运营模式,重构商业逻辑。两者层层递进,信息化为基础,数字化为升级。文中通过实例对比二者在理念、方法、数据应用等方面差异,并强调数字化转型需明确目标,借助低代码等工具实现能力重构,推动企业全价值链连通与效率提升。总结指出,真正的转型是能力的全面提升,而非单纯技术替换。
|
Ubuntu 安全 程序员
一文带你了解软件版本号
【9月更文挑战第3天】
6271 12
一文带你了解软件版本号
|
消息中间件 存储 运维
2024最全RabbitMQ集群方案汇总
本文梳理了RabbitMQ集群的几种方案,主要包括普通集群、镜像集群(高可用)、Quorum队列(仲裁队列)、Streams集群模式(高可用+负载均衡)和插件方式。重点介绍了每种方案的特点、优缺点及适用场景。搭建步骤包括安装Erlang和RabbitMQ、配置集群节点、修改hosts文件、配置Erlang Cookie、启动独立节点并创建集群,以及配置镜像队列以提高可用性和容错性。推荐使用Quorum队列与Streams模式,其中Quorum队列适合高可用集群,Streams模式则同时支持高可用和负载均衡。此外,还有Shovel和Federation插件可用于特定场景下的集群搭建。
3907 3
|
机器学习/深度学习 算法 网络协议
开源上新|通义语音处理技术ClearerVoice-Studio
开源上新|通义语音处理技术ClearerVoice-Studio

热门文章

最新文章