如何解决SemVer:相同种子的不同结果是否需要进行重大更改?
假设我编写了一个遵循 Semantic Versioning Specification 的软件(用 R 语言,用于教学目的)。这是软件1.0.0版本的内容:
funk <- function(x) {
jitter(x)
}
哪个有效
set.seed(1)
print(funk(0))
收益
[1] -0.009379653
现在假设我将函数更改为:
funk <- function(x) {
unrelated_random_stuff <- sample(1:10)
jitter(x)
}
现在,set.seed(1); print(funk(0))
收益
[1] -0.01176102
据 SemVer 称,这是否构成重大变化?即,如果我发布带有这些更改的软件,它应该是 2.0.0 吗?我倾向于这么认为,因为这在技术上改变了基于 1.0.0 版的脚本的结果,但我不确定这是否符合“破坏向后兼容性”,因为我们谈论的是随机生成的数字。
解决方法
如果您的客户倾向于依赖输出值,那么是的,您可能希望增加主要版本号。即使这是库代码,也可能有人将其用于模糊测试,并且产生可重现的结果至关重要,以便找到跟踪和修复错误,并确保修复不会在未来回归。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。