首页 > web前端 > js教程 > 以 semver `.0` 开头

以 semver `.0` 开头

Susan Sarandon
发布: 2025-01-06 08:18:40
原创
908 人浏览过

Starting with semver `.0`

看我明白了。您正在发布一个新包...走出去,不确定该库是否需要更改。所以你说,“也许我应该现在发布 v0,等准备好后再发布 v1”。本文将尝试说服您从一开始就发布 v1。

发布 v1 有几个原因:

  • SemVer 0.x 版本不同
  • 要有信心并认真对待
  • 项目实力

对我来说,v0 的各种原因似乎可以归结为:

  • 不确定性
  • 懒惰
  • 缺乏理解/技能问题

...

但是在阅读了 semver 存储库上这个有趣的问题后:https://github.com/semver/semver/issues/221 我的观点正在改变。使用版本 0.x 表示不稳定,这是事实,但现实是某些库不稳定。

不稳定是什么意思?这并不是库发生了变化(因为这些更改可以计划并由主要版本号表示)。不稳定与错误的普遍存在有关。

错误可能是:

  • 常规软件错误,或
  • 在次要版本或补丁版本中发布的重大更改。

旁注:这两者之间几乎没有什么区别。很多错误只是 API 之间的不匹配或不兼容。

那么 --- 您的库对消费者来说崩溃的可能性有多大?只有库维护人员才能回答这个问题,并且它通常来自于消费者长期以来提出的问题的经验。

但是在发布库之前你怎么知道它会有多不稳定呢?也许在 0.x 中呆一段时间是个好主意。

但是这个库会摆脱 0.x 吗?因为惯性是真实存在的。你有时间吗?委员会会通过吗?这是有风险的。

另一方面,发布1.0.0的风险是消费者如果频繁升级会出现不稳定的情况。但对此有一些缓解措施。首先,使用锁定文件,升级软件包是一个手动操作。除非升级,否则消费者不会受到问题的影响。他们可以干脆不升级,或者推迟升级。

新消费者可能会遇到有缺陷的版本,这是事实,但在 0.x 系统中也会出现这种情况。

像storybook这样的库在版本之间不是很稳定(根据我的经验),但它们仍然没有使用0.x。对于它的价值。

然后是传递依赖的区域。如果您的包是另一个包的依赖项,那么另一个包需要决定使用什么 semver 范围。您的稳定性会影响该软件包的稳定性,因此风险更高。

该软件包要么固定您的库,要么使用更广泛的 semver 范围。在第一种情况下,它会导致重复,这对性能不利。在第二种情况下,存在不稳定的风险。我敢打赌,第一个选择是行不通的,不稳定总是存在风险。

我在这里没有答案,但要点是,如果你的库被其他库使用,那么风险会更高,你应该确保你的库是稳定的。

所以你应该尝试编写一个稳定的库,但如果它不稳定,那么继续使用 0.x 直到它稳定为止。但如果可以的话,请使用 1.x。

以上是以 semver `.0` 开头的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板