代码重构与间接原则的区别
问:“计算机科学里的所有问题都可以通过增加一个抽象的间接层来解决”(出处未知)。增加间接层固然好,但其实方法的提供(服务端)和使用(客户端)之间不匹配的问题只是被屏蔽了,而不是被解决了;相比之下我认为重构才是从根本上解决问题的方式。是什么促使我们选择间接而不是重构呢?仅仅是因为重构有风险吗?
博主意见:
重构: 并不是重新设计!重新设计的代价、风险都很大。如果现有系统确实没有重构的价值、或者重构的代价也同样很大,那么,公司会考虑重新设计新系统。 而重构的核心,1) 代码变得整洁,如换行、对齐、括号匹配、注释等 2)部分代码 被提炼出函数、新的实现方法(但保持接口不变)3)一些新的、比较小的新功能,考虑加入当前系统。
间接:是一种设计原则,减小模块之间的耦合,一般是指设计的过程中,加以考虑。注意,当前 就在设计过程中。采用间接层,可以更好地适应今后需求变化、代码重用等目标。
------------------------------------------------交流、学习、进步!-----------------------------------------------------