使用语义版本控制,如果我的API的一个功能发生以下变化:
foo(a, b)
->
foo(a, b, c) //c optional
这是否需要新的主要版本,还是可以在次要版本下传递?
答案 0 :(得分:0)
给定版本号MAJOR.MINOR.PATCH,增加:
当您进行不兼容的API更改时,MAJOR版本,
当您以向后兼容的方式添加功能时的MINOR版本,以及
当您进行向后兼容的错误修复时,PATCH版本。
如果您的额外参数是可选的,则需要更改 MINOR 版本。否则,它需要 MAJOR 版本更改。
答案 1 :(得分:0)
当您进行不兼容的API更改时,MAJOR版本,
当您以向后兼容的方式添加功能时的MINOR版本,以及
当您进行向后兼容的错误修复时,PATCH版本。
因此,如果你改变这个功能,那将是一个重大改变。
但是如果你用另一个签名重载了这个函数而没有破坏兼容性......这是次要的