当前位置:首页 > 经验 >

me格式怎么调(me文件是什么格式)

来源:原点资讯(m.360kss.com)时间:2022-11-07 10:54:10作者:YD166手机阅读>>

语义化版本 2.0.0摘要

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

  1. 主版本号:当你做了不兼容的 API 修改,
  2. 次版本号:当你做了向下兼容的功能性新增,
  3. 修订号:当你做了向下兼容的问题修正。

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

me格式怎么调,me文件是什么格式(1)

简介

在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的包越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。

在依赖高的系统中发布新版本包可能很快会成为噩梦。如果依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个依赖包改版才能完成某次升级)。而如果依赖关系过于松散,又将无法避免版本的混乱(假设兼容于未来的多个版本已超出了合理数量)。当你项目的进展因为版本依赖被锁死或版本混乱变得不够简便和可靠,就意味着你正处于依赖地狱之中。

作为这个问题的解决方案之一,我提议用一组简单的规则及条件来约束版本号的配置和增长。这些规则是根据(但不局限于)已经被各种封闭、开放源码软件所广泛使用的惯例所设计。为了让这套理论运作,你必须先有定义好的公共 API。这可以透过文件定义或代码强制要求来实现。无论如何,这套 API 的清楚明了是十分重要的。一旦你定义了公共 API,你就可以透过修改相应的版本号来向大家说明你的修改。考虑使用这样的版本号格式:X.Y.Z(主版本号.次版本号.修订号)修复问题但不影响 API 时,递增修订号;API 保持向下兼容的新增及修改时,递增次版本号;进行不向下兼容的修改时,递增主版本号。

我称这套系统为“语义化的版本控制”,在这套约定下,版本号及其更新方式包含了相邻版本间的底层代码和修改内容的信息。

me格式怎么调,me文件是什么格式(2)

语义化版本控制规范(SemVer)

以下关键词 MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、 RECOMMENDED、MAY、OPTIONAL 依照 RFC 2119 的叙述解读。

  1. 使用语义化版本控制的软件必须(MUST)定义公共 API。该 API 可以在代码中被定义或出现于严谨的文件内。无论何种形式都应该力求精确且完整。
  2. 标准的版本号必须(MUST)采用 X.Y.Z 的格式,其中 X、Y 和 Z 为非负的整数,且禁止(MUST NOT)在数字前方补零。X 是主版本号、Y 是次版本号、而 Z 为修订号。每个元素必须(MUST)以数值来递增。例如:1.9.1 -> 1.10.0 -> 1.11.0。
  3. 标记版本号的软件发行后,禁止(MUST NOT)改变该版本软件的内容。任何修改都必须(MUST)以新版本发行。
  4. 主版本号为零(0.y.z)的软件处于开发初始阶段,一切都可能随时被改变。这样的公共 API 不应该被视为稳定版。
  5. 1.0.0 的版本号用于界定公共 API 的形成。这一版本之后所有的版本号更新都基于公共 API 及其修改内容。
  6. 修订号 Z(x.y.Z | x > 0)必须(MUST)在只做了向下兼容的修正时才递增。这里的修正指的是针对不正确结果而进行的内部修改。
  7. 次版本号 Y(x.Y.z | x > 0)必须(MUST)在有向下兼容的新功能出现时递增。在任何公共 API 的功能被标记为弃用时也必须(MUST)递增。也可以(MAY)在内部程序有大量新功能或改进被加入时递增,其中可以(MAY)包括修订级别的改变。每当次版本号递增时,修订号必须(MUST)归零。
  8. 主版本号 X(X.y.z | X > 0)必须(MUST)在有任何不兼容的修改被加入公共 API 时递增。其中可以(MAY)包括次版本号及修订级别的改变。每当主版本号递增时,次版本号和修订号必须(MUST)归零。
  9. 先行版本号可以(MAY)被标注在修订版之后,先加上一个连接号再加上一连串以句点分隔的标识符来修饰。标识符必须(MUST)由 ASCII 字母数字和连接号 [0-9A-Za-z-] 组成,且禁止(MUST NOT)留白。数字型的标识符禁止(MUST NOT)在前方补零。先行版的优先级低于相关联的标准版本。被标上先行版本号则表示这个版本并非稳定而且可能无法满足预期的兼容性需求。范例:1.0.0-alpha、1.0.0-alpha.1、1.0.0-0.3.7、1.0.0-x.7.z.92。
  10. 版本编译信息可以(MAY)被标注在修订版或先行版本号之后,先加上一个加号再加上一连串以句点分隔的标识符来修饰。标识符必须(MUST)由 ASCII 字母数字和连接号 [0-9A-Za-z-] 组成,且禁止(MUST NOT)留白。当判断版本的优先层级时,版本编译信息可(SHOULD)被忽略。因此当两个版本只有在版本编译信息有差别时,属于相同的优先层级。范例:1.0.0-alpha 001、1.0.0 20130313144700、1.0.0-beta exp.sha.5114f85。
  11. 版本的优先层级指的是不同版本在排序时如何比较。判断优先层级时,必须(MUST)把版本依序拆分为主版本号、次版本号、修订号及先行版本号后进行比较(版本编译信息不在这份比较的列表中)。由左到右依序比较每个标识符,第一个差异值用来决定优先层级:主版本号、次版本号及修订号以数值比较,例如:1.0.0 < 2.0.0 < 2.1.0 < 2.1.1。当主版本号、次版本号及修订号都相同时,改以优先层级比较低的先行版本号决定。例如:1.0.0-alpha < 1.0.0。有相同主版本号、次版本号及修订号的两个先行版本号,其优先层级必须(MUST)透过由左到右的每个被句点分隔的标识符来比较,直到找到一个差异值后决定:只有数字的标识符以数值高低比较,有字母或连接号时则逐字以 ASCII 的排序来比较。数字的标识符比非数字的标识符优先层级低。若开头的标识符都相同时,栏位比较多的先行版本号优先层级比较高。范例:1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0。

me格式怎么调,me文件是什么格式(3)

为什么要使用语义化的版本控制?

这并不是一个新的或者革命性的想法。实际上,你可能已经在做一些近似的事情了。问题在于只是“近似”还不够。如果没有某个正式的规范可循,版本号对于依赖的管理并无实质意义。将上述的想法命名并给予清楚的定义,让你对软件使用者传达意向变得容易。一旦这些意向变得清楚,弹性(但又不会太弹性)的依赖规范就能达成。

举个简单的例子就可以展示语义化的版本控制如何让依赖地狱成为过去。假设有个名为“救火车”的函数库,它需要另一个名为“梯子”并已经有使用语义化版本控制的包。当救火车创建时,梯子的版本号为 3.1.0。因为救火车使用了一些版本 3.1.0 所新增的功能,你可以放心地指定依赖于梯子的版本号大于等于 3.1.0 但小于 4.0.0。这样,当梯子版本 3.1.1 和 3.2.0 发布时,你可以将直接它们纳入你的包管理系统,因为它们能与原有依赖的软件兼容。

作为一位负责任的开发者,你理当确保每次包升级的运作与版本号的表述一致。现实世界是复杂的,我们除了提高警觉外能做的不多。你所能做的就是让语义化的版本控制为你提供一个健全的方式来发行以及升级包,而无需推出新的依赖包,节省你的时间及烦恼。

如果你对此认同,希望立即开始使用语义化版本控制,你只需声明你的函数库正在使用它并遵循这些规则就可以了。请在你的 README 文件中保留此页链接,让别人也知道这些规则并从中受益。

栏目热文

me的保存路径(me软件的用途及使用)

me的保存路径(me软件的用途及使用)

问:金立m2017怎么清理手机里的垃圾文件?答:方法一:腾讯手机管家,然后找到清理加速,打开后再里面就可以找到【垃圾清理...

2022-11-07 11:09:23查看全文 >>

苹果手机如何全部导出照片(苹果手机怎么把原有的照片导出)

苹果手机如何全部导出照片(苹果手机怎么把原有的照片导出)

苹果手机往电脑里备份照片的时候,总是出现连接不稳定的状况,照片拷贝到一半就会报错,无法复制,有时反反复复好几遍才把相册...

2022-11-07 11:38:23查看全文 >>

me的保存路径怎么查看(ME软件使用)

me的保存路径怎么查看(ME软件使用)

作者 | 许向武出品 | CSDN博客概述MFC是我接触到的第一个界面库,当时的操作系统还是Windows95。在那个I...

2022-11-07 10:50:33查看全文 >>

meme背景怎么保存(meme背景怎么导出来)

meme背景怎么保存(meme背景怎么导出来)

Best Meme Generator(以下简称 BMG)是一个可以帮助你制作个性化 meme 的应用。meme 是什么...

2022-11-07 11:31:56查看全文 >>

meme软件最大宽度为啥要调整到100(ME怎么批量修改)

meme软件最大宽度为啥要调整到100(ME怎么批量修改)

TikTok,又称国际版抖音。作为字节跳动海外扩张战略的排头兵,TikTok自 17 年 8 月上线以来,在不到两年的时...

2022-11-07 11:00:53查看全文 >>

meb文件用什么打开(meb文件哪里找)

meb文件用什么打开(meb文件哪里找)

一、 环境摘要1.1 NBU备份MySQL方案概述NetBackup可采用以下几种方案对MySQL进行备份:ü 关闭my...

2022-11-07 11:22:24查看全文 >>

mem文件夹怎么打开(mem文件怎么恢复)

mem文件夹怎么打开(mem文件怎么恢复)

大家好,我是老刘。我们都知道。电脑里的文件有很多,而且分不同的格式,不同的格式需要不同的软件才能打开,比如像psd,就需...

2022-11-07 11:02:52查看全文 >>

me各类格式的讲解(me格式用什么软件打开)

me各类格式的讲解(me格式用什么软件打开)

01PFMEA分析的时机PFMEA的分析在整个NCI流程中处于核心位置,在SD2详细设计阶段应该完成PFMEA初稿,作为...

2022-11-07 11:05:16查看全文 >>

双十一战队退出红包会退吗(双十一组队退出红包还有吗)

双十一战队退出红包会退吗(双十一组队退出红包还有吗)

参与喵糖总动员活动的时候,大家都是加入了战队的,那么当我们退出队伍后,之前的红包收益还在吗?下面小编就为大家带来了...

2022-11-07 10:51:52查看全文 >>

双十一战队比赛有什么技巧(双十一战队能平局吗)

双十一战队比赛有什么技巧(双十一战队能平局吗)

今日,TI11突围赛(外卡赛)的分组和赛制正式公布,十二支来自世界各地的顶尖战队将齐聚一堂争夺两个直接晋级TI11正赛的...

2022-11-07 11:06:26查看全文 >>

文档排行