Maven Central Repository中推荐的版本策略是Semantic Versioning 2.0.0,对于任何不兼容的更改(在RFC 2119中使用MUST关于此要求),主要版本应该如何受到影响非常严格。
假设任何方法签名都已更改,因此必须更新库主要版本。在正在开发的图书馆中,这种情况可能相对频繁。
这让我觉得在Maven Central发布的图书馆确实如此,或者没有严格遵循这样的建议?
答案 0 :(得分:1)
SemVer是关于开发人员传达其中一项更新所涉及的工作量或风险的全部内容。如果您进行任何重大更改并且未能触及主版本号,则表示您没有关注Semantic Versioning 2.0.0,因此不遵循Maven Central存储库的建议。
所有关于您的声誉。如果您遵守规则,强制重新编译或级联升级,破碎的系统不会被破坏,这些是明显的行为,标志着开发人员的产品需要更换。鉴于代码的质量在那里漂浮,我说不遵守标准是很常见的,但可能对任何人都没有好处,包括甚至达不到最低标准的懒惰流浪汉。
答案 1 :(得分:0)
不,似乎没有严格遵循语义版本控制。
研究中的分析Semantic versioning versus breaking changes: A study of the Maven Repository得出结论:
引入突破性的变化很普遍:大约三分之一 所有版本都至少引入了一次重大改变。
虽然语义版本控制规定只有破坏性更改 在主要版本允许的情况下,我们认为这些差别不大 二:三分之一的主要版本和三分之一的次要版本 至少引入一次重大改变。
此外,根据文章中提供的数据,在23.8%的情况下,在补丁版本更新中引入了至少一个向后不兼容的更改。