hor*_*ace 7 code-reuse refactoring
重用代码与复制/粘贴的最佳做法是什么?
重用的问题可能是更改重用代码会影响许多其他功能.
这是好的和坏的:好的,如果更改是错误修复或有用的增强.如果其他重用代码意外破坏,因为它依赖于旧版本(或新版本有错误),那就太糟糕了.
在某些情况下,复制/粘贴似乎更好 - 粘贴代码的每个用户都有一个私有副本,它可以自定义而不会产生任何后果.
这个问题是否有最佳实践; 重复使用是否需要水密单元测试?
所以消费者(重用)代码依赖于重用的代码,这是正确的。
你必须管理这种依赖性。
对于二进制重用(例如 dll)和代码重用(例如脚本库)也是如此。
消费者应该依赖于重用代码/二进制文件的某个(已知)版本。
消费者应该保留重用代码/二进制文件的副本,但永远不要直接修改它,只有在安全时才更新到较新的版本。
修改重复使用的代码库时请仔细考虑。用于破坏性变更的分支。
如果消费者想要更新重用的代码/二进制文件,那么它首先必须测试它是否安全。如果测试失败,那么消费者总是可以回退到最后一个已知(并保留)的良好版本。
因此,您可以从重用中受益(例如,您必须在一个地方修复错误),并且您仍然可以控制更改。但是,每当您更新重用的代码/二进制文件时,没有什么可以阻止您进行测试。