1

使用语义版本控制,如果我的 API 的功能之一发生以下更改:

foo(a, b)
->
foo(a, b, c) //c optional

这是否需要新的主要版本,还是可以在次要版本下通过?

4

2 回答 2

0

语义版本控制 2.0.0说:

给定版本号 MAJOR.MINOR.PATCH,增加:

进行不兼容的 API 更改时的 MAJOR 版本,
以向后兼容的方式添加功能时的 MINOR 版本,以及
进行向后兼容的错误修复时的 PATCH 版本。

如果您的额外参数是可选的,则需要进行次要版本更改。否则,它需要更改主要版本。

于 2015-07-28T14:03:05.130 回答
0

根据http://semver.org/

当您进行不兼容的 API 更改时的 MAJOR 版本,当您
以向后兼容的方式添加功能时的 MINOR 版本,以及
当您进行向后兼容的错误修复时的 PATCH 版本。

因此,如果您更改功能,这是一个重大变化。

但是如果你用另一个签名重载函数并且没有破坏兼容性..这是一个小问题

于 2015-07-28T14:04:15.553 回答