有时,第 3 方库在更改界面时会造成严重破坏。在某些语言中,它甚至发生在语言层面。
是否有可能以一种可以防止它发生的方式编写我们的代码?
例如,我可以想到一种方法 - 编写自己的包装函数。
这样,更改将局限于一个函数。但话又说回来,它会产生很大的开销。
你有什么想法吗?
最佳答案
基本上,您包括某种版 native 制(通常具有比低/高版本限制更多的粒度),并且您尝试保持接口(interface)分离和“正交”。但是很大程度上取决于您在界面的哪一侧。在“消费者”方面,您只能做这么多。
IBM System/38 及其后代设法保持兼容性,使得在第一个版本上编译的程序在 30 年后仍然可以运行,无需重新编译(并且通过机器指令集的两次修订,第二次修订非常激烈)。但这是一个非常好的(虽然不完美)原始设计的不寻常案例,结合相当强烈的动机(在系统上花费大量美元的大型银行)来保持兼容性。
在个人电脑层面,许多系统设计人员并不真正关心,因为不兼容销售更多的软件升级,这反过来又销售更多的硬件。
关于coding-style - 是否有一种方法可以避免有时强加于我们的向后不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583072/