【问题标题】:Why is Angular version 4 compatible with version 2 if they use semantic versioning?如果使用语义版本控制,为什么 Angular 版本 4 与版本 2 兼容?
【发布时间】:2018-02-22 09:34:18
【问题描述】:

根据semantic versioning,主要版本不应该与其前辈不兼容吗?

【问题讨论】:

  • 不完全兼容。有重大变化。不过,其中大部分都保持兼容。阅读变更日志。 github.com/angular/angular/blob/master/CHANGELOG.md
  • 请注意,为旧版本编写的 一些 代码库将不再适用于新版本(反之亦然)这一事实并不意味着 all 会的。重大更改可能是您的代码不使用的框架的一部分。
  • @JBNizet,请发表您的评论作为对这个问题的回答。我认为这个问题得到了回答,并希望看到它属于未回答的问题列表。谢谢!

标签: angular semantic-versioning


【解决方案1】:

根据语义版本控制,主要版本不应该与其前任不兼容吗?

规范根本没有这样说。它确实说的是,如果您确实引入了重大更改,则必须提高主要版本号。如果您认为有轻微损坏的可能性,该措辞并不妨碍您修改主要版本号。事实上,如果相对于之前的次要版本和补丁级别版本存在相当大的代码变动,则通常会更改主要版本。为了考虑到通常出现的较慢采用率,当规避风险的客户时,推迟接受主要版本的发布,直到他们有可用的资源进行测试。

即使是补丁版本也可能破坏某些人。软件历史上到处都是错误,有人认为这些错误在某个时间点是一个特性。开发人员根据自己和客户对错误的容忍度使用最佳判断。任务关键型代码在某处采用经过彻底记录、审查人员和测试人员审查的单行补丁,可能会发布补丁,但对同一产品中的主要组件进行完整重构,即使具有很高的开发标准,也可能需要尽管目标是不引入任何重大更改,但这是一个重大的颠簸。非关键任务代码只会出现补丁补丁,即使是对实现进行彻底检查。

【讨论】:

    【解决方案2】:

    @JBNizet 给出的 cmets 中的答案:

    它不完全兼容。有重大变化。不过,其中大部分都保持兼容。阅读变更日志。 https://github.com/angular/angular/blob/master/CHANGELOG.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-02
      • 2020-05-25
      • 2017-11-04
      • 2021-06-28
      • 2022-11-21
      • 2018-08-08
      • 2021-12-25
      • 2021-08-15
      相关资源
      最近更新 更多