Nee*_*key 26 semantic-versioning
我正在学习如何使用http://semver.org/中名为"语义版本控制"的规则来分配和增加版本号.
在其所有规则中,第一个规则说:
使用语义版本控制的软件必须声明一个公共API.此API可以在代码本身中声明,也可以严格存在于文档中.无论如何,它应该是精确和全面的"
我对"公共API"感到困惑.它指的是什么?
公共API指的是外部世界(用户,其他程序和/或程序员等)对您的软件具有的"访问点".
例如,如果您正在开发库,则公共API是可以对库进行的所有方法调用的集合.
据了解,除非主要版本发生变化,否则您的API将向后兼容,即在版本上有效的所有调用在更高版本上都有效.您可以阅读这些规则的第9点:
如果向公共API引入任何向后不兼容的更改,则必须增加主要版本X(Xyz | X> 0).
我今天发现了SemVer,并从几个来源阅读了它,以确保我完全掌握了它。
我对“公共 API”感到困惑。它指的是什么?
我也对此感到困惑。我想一套关于使用SemVer立即版本我的一些脚本,但他们并没有public API和他们是如何它甚至不是很清楚,我可能有一个。
我找到的最佳答案是一个解释:
SemVer明确不用于对所有代码进行版本控制。它仅适用于具有公共 API 的代码。
使用 SemVer 对错误的软件进行版本控制是一个非常常见的挫败感来源。SemVer无法对未声明公共 API 的软件进行 版本控制。
声明公共 API 的软件包括库和命令行应用程序。软件不声明公共API包括许多游戏和网站。考虑一个博客;与库不同,它没有公共 API。其他软件无法以编程方式访问它。因此,向后兼容性的概念不适用于博客。正如我们将解释的,semver 版本号 取决于向后兼容性。由于这种依赖性,semver 无法对博客等软件进行版本控制。
| 归档时间: |
|
| 查看次数: |
2578 次 |
| 最近记录: |