在语义版本控制中,“公共API”意味着什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (87)

我正在学习如何使用http://semver.org/中的 “语义版本控制”规则来分配和增加版本号。

在其所有规则中,第一条规定:

使用语义版本控制的软件必须声明一个公共API。这个API可以在代码本身声明或严格存在于文档中。然而,它已经完成,它应该是精确和全面的“

我对“公共API”感到困惑。它指的是什么?

提问于
用户回答回答于

它需要一个公共API来有效地应用它的版本模式。

例如:

不会影响API的错误修复会增加修补程序版本

向后兼容的API添加/更改增加次要版本,并... 向后不兼容的API更改会增加主要版本。

什么代表你的API是主观的,因为他们甚至在SemVer文档中声明:

这可能由文档组成,也可能由代码本身强制执行。

用户回答回答于

公共API指的是外部世界(用户,其他程序和/或程序员等)对软件具有的“访问点”。

例如,如果正在开发一个库,那么公共API就是可以对库进行的所有方法调用的集合。

有一种理解,除非主版本发生了变化,否则您的API将向后兼容,即在版本上有效的所有调用都将在更高版本上有效。你可以在这些规则的第9点阅读:

如果向公共API引入任何向后不兼容的更改,则必须增加主版本X(Xyz | X> 0)。

扫码关注云+社区

领取腾讯云代金券