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

————————————————
版权声明:本文为CSDN博主「frcoder」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012107143/article/details/78731272

接口(Api)版本号命名规则相关推荐

  1. Spring改变版本号命名规则:此举对非英语国家很友好

    要想改变命运,首先改变自己.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...

  2. 版本号命名规则 软件版本说明

    版本号命名规则 主版本号.子/次版本号.修正/补丁版本号.编译版本号 当代码变更时,版本号按以下原则更新. 如果只是修复bug,需要更新补丁版本号: 如果是新增了功能,但是向下兼容,需要更新子版本号: ...

  3. 带你了解软件版本号的命名规则

    1. 常见软件的版本号命名 软件 升级过程 说明 Linux Kernel 0.0.1 / 1.0.0 / 2.6.32 / 3.0.18 /- 若用 X.Y.Z 表示,则偶数 Y 表示稳定版本,奇数 ...

  4. 【工程化系列】软件版本号的命名规则

    DATE: 2020.8.1 文章目录 1.参考 2.软件版本号的命名规则 1.参考 版本号命名规则 APP.软件版本号的命名规范与原则 2.软件版本号的命名规则 版本号的格式为 X.Y.Z(又称 M ...

  5. Spring源码版本命名规则

    Spring源码版本命名规则 某些常见软件的版本号: Linux Kernel: 0.0.1,1.0.0,2.6.32,3.0.18-,若用 X.Y.Z 表示,则偶数 Y 表示稳定版本,奇数 Y 表示 ...

  6. Spring5源码分析系列(二)Spring源码版本命名规则及下载安装

    Tom老师视频讲解第二章,这章主要是科普篇,介绍了下spring版本的命名规则及源码下载,文章参考自Tom老师视频. Spring源码版本命名规则 (1)首先看看某些常见软件的版本号: LinuxKe ...

  7. Spring框架版本命名规则

    常见软件的版本号命名 软件 升级过程 说明 Linux Kernel 0.0.1 1.0.0 2.6.32 3.0.18 ... 若用X.Y.Z 表示,则偶数Y 表示稳定版本,奇 数Y 表示开发版本. ...

  8. Android 命名规则

    1. 前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范.该文档仅供参考,只要形成一个统一的风格,见量知其意就可. 1.1 术语说明 在本文 ...

  9. JAVA多态/封装/接口/包/包的命名规则——java面向对象

    Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态的优点 消除类型之间的耦合关系 可替换性 可扩充性 接口性 灵活性 简化性 多态存在的三个必要条件 继承 重写 父类引用指向子类 ...

  10. linux rpm版本号,linux中RPM包命名规则

    RPM包的一般格式为: name-version-arch.rpm name-version-arch.src.rpm 例: httpd-2.2.3-29.el5.i386.rpm httpd-dev ...

最新文章

  1. 07Oracle Database 数据表
  2. function_core.php is missing下载,discuz中 function_core.php中的dmkdir有死环bug
  3. python语言能够整合各类程序代码-python语言概述
  4. 【转载保存】索引文件锁LockFactory
  5. 【vue2.0进阶】轻松理解Vuex的3个核心概念
  6. 品牌设计工作室html5模板
  7. Magcodes.WeiChat——自定义CustomCreationConverter之实现微信自定义菜单的序列化
  8. python 间接处理webp图片文件
  9. jquery实现上下左右键盘监听_初识 jquery.simulate.js 模拟键盘事件
  10. lpddr3 阻抗_LPDDRx的总结
  11. 批量微信号码过滤程序
  12. 用logisim实现串行的全加器
  13. 思维导图:从Xmind到docsify博客
  14. 板岩Slate Digital发布FG-X 2 ML-1 FG-36A
  15. Python数据处理
  16. 强化学习:不用给AI一个支点,他也能想办法撬起地球
  17. iPhone最强悍对抗者——HTC崛起的秘密
  18. Git——SSH免密登录
  19. c语言计算n+nn+nnn+nnnn......---@颜麓
  20. Android创建前台运行的Service

热门文章

  1. 认知无线电与软件定义无线电的区别
  2. 数据结构课程设计1: 区块链
  3. java parser .java_JDK的Parser来解析Java源代码详解
  4. 无盘服务器缓存,深入研究无盘服务器缓存
  5. oracle数据转换,Oracle数据库转换函数
  6. 计算机二级公共基础知识点整理
  7. java源码编译指令
  8. pyqt 鼠标离开按钮_小米 Smart Pad 体验:表面它是个鼠标垫,其实还是个鼠标垫...
  9. 第一课----色彩构成与色彩模式
  10. Bishop-Pattern-Recognition-and-Machine-Learning-2006 pdf转html并翻译