接口(Api)版本号命名规则

接口(Api)版本号命名规则0.前言版本号的命名和更新问题,是开发者的责任感和前瞻性的问题。1.项目立项时版本格式:0.0.02.开发阶段时此时系统尚不稳定,随时可能增减或者修正API。版本格式:0.次版本号.修订号,版本号递增规则如下:主版本号:0表示正在开发阶段;次版本号:增加新的功能时增加;修订号:只要有改动就增加。3.开发完成后,发布API,或进入二方库时此时系统已经基本稳定…


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

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

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

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

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

相关推荐

  • gridview属性_文档代码

    gridview属性_文档代码Common{//////样式类///publicclassControlStyle{//////设置girdView默认属性//////publicstaticvoidSetStyle(DevExpress.XtraGrid.Vie

    2022年9月16日
  • SenticNet情感词典介绍[通俗易懂]

    SenticNet情感词典介绍[通俗易懂]在进行情感分析时,一个好的情感词典能够让我们的工作事半功倍,较为出名的情感词典有SentiWordNet,GeneralInquirer等,这篇博客将介绍另外一个出色情感词典,SenticNet。简介当谈论SenticNet时,我们正在谈论概念层面的情感分析,即通过语义和语言学来完成极性探测、情感识别等任务,而不是单纯的依靠词共现频率。SenticNet可以看作是以下其中一种:1…

    2022年8月23日
  • Snap7 西门子S7系列PLC的通信库 简介[通俗易懂]

    Snap7 西门子S7系列PLC的通信库 简介[通俗易懂]目录简介参考Snap7简介Snap7用途适用系统支持语言西门子S7通信介绍Snap7组件Sanp7APISnap7PythonSnap7安装PLC设置连接PLC读取数据发送数据Sanp7C/C++node.js简介最近在开发一个项目,作为技术帝,已经完成工艺、机械设计的设计,项目过多,也是为了让自己更加????叉,就开始尝试做电气制图和PLC编程。结合物联网的发展,有一种想法,将数据传…

    2022年10月23日
  • JAVA统计服务器资源(cpu,内存,磁盘)–LINUX

    JAVA统计服务器资源(cpu,内存,磁盘)–LINUX标题JAVA统计服务器资源(cpu,内存,磁盘)–LINUX使用类:com.sun.management.OperatingSystemMXBean继承:java.lang.management.OperatingSystemMXBeanJDK版本1.8API说明项目用的jdk是1.8,接口也能调,不知道为什么1.8的api里没有这个类,只有这个类继承的java.lang.management.OperatingSystemMXBean的API,在JDK13API中找到想要的东西了模

    2022年6月10日
  • 漫谈词向量

    漫谈词向量原文:Onwordembeddings作者:SebastianRuder译者:KK4SBB审校:王艺责编:何永灿,关注人工智能,投稿请联系heyc@csdn.net或微信号289416419目录词向量的来历词向量模型语言建模概述经典的神经语言模型C&amp;W模型Word2VecCBOWSkip-gram非监督式学习得到…

    2022年5月22日
  • Burpsuite Professional安装及使用教程(抓包)

    Burpsuite Professional安装及使用教程(抓包)先从吾爱破解论坛下载工具:https://down.52pojie.cn/Tools/Network_Analyzer/Burp_Suite_Pro_v1.7.37_Loader_Keygen.zip工具运行需要Java环境,请自行安装,此处不赘述。解压完后双击keygen填一下LicenseText(随意),然后点击Run即可启动BurpSuite的主程序将keygen中得到的License复制粘贴到这里然后点击Next点击这个后出现下一个界面点击Copyreques

    2022年6月5日

发表回复

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

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