变量名称更改颠簸 SemVer 主要还是次要?
Posted
技术标签:
【中文标题】变量名称更改颠簸 SemVer 主要还是次要?【英文标题】:Variable name change bumps SemVer major or minor? 【发布时间】:2014-03-09 23:30:22 【问题描述】:假设我有一个可以通过 API 调用的函数,例如 $MyFunction
,为了简洁起见,$MyFunction
返回 12。现在假设我将 $MyFunction
重命名为 $The12Function
,但它仍然返回相同的结果 (在本例中为整数 12)。这是否需要增加主要或次要 SemVer 版本号?
有人可能会争辩说我不允许向后兼容,因为$MyFunction
不再有效。但是,也有人会争辩说存在向后兼容性,因为您仍然可以通过 $The12Function
返回相同的结果。
【问题讨论】:
【参考方案1】:来自http://semver.org:
给定版本号 MAJOR.MINOR.PATCH,增加:
进行不兼容的 API 更改时的主要版本,
在向后兼容中添加功能时的次要版本 方式,以及
当您进行向后兼容的错误修复时的 PATCH 版本。
因此,在您的情况下,如果您不维护旧的函数名称,为了保持与旧版本 API 的兼容性,您应该增加主要版本号。
查看它的一种方法是,为了了解兼容性是否被破坏,可以想象您的 API 和功能被封装在一个库中,该库向其他程序提供此功能。您现在对该 API 进行更改。如果需要更改链接到旧版本 API 的程序才能使用新版本的库,则说明兼容性已损坏,应更改主版本。您可以通过覆盖和维护已弃用的旧函数调用来解决此问题,但这会增加 API 的复杂性。
【讨论】:
包裹类比对我来说比提出的问题更清楚。所以我知道这是违反规则的,但谢谢。以上是关于变量名称更改颠簸 SemVer 主要还是次要?的主要内容,如果未能解决你的问题,请参考以下文章
GitVersion:如何通过提交消息回滚 SemVer 编号更改?