是什么阻碍了代码的重用?问题是否应该只解决一次即可?

2017-04-10 1027 7 编辑:深圳网站建设 来源:互联网

因为复用并非无代价,而且代价往往还很高。从工程上说,任何特性都不是无代价的。复用提供了解决一类问题的灵活性,而灵活性作为一种功能,同样有代价——正如过多地使用虚函数有性能损失,而过多地使用 interface 则一定程度上降低代码可读性。如果构建灵活性的基石皆有代价,那么我们不可能期望灵活性可以免费获得。而所有的问题解决之道本质上都一样:我们需要权衡每一个选择的好处和坏处,做出对我们现在的项目最有利的方案。举例来说:我们不会在项目最紧张的时候讨论把业务逻辑抽取出来做一个通用的框架,原因很简单:时间不够用。我们也不会在讨论怎么设计通用框架的时候过多地讨论我们具体项目的逻辑,因为追求通用性的设计目的导致我们不可能完全为某一个具体的业务优化。所以从这个意义上来说,阻碍代码重用的最大原因,事实上来自项目自身:复用代码在绝大多数情况下,都不是一个项目的最终目的。对任何项目来说,唯一绝对存在的目的,是在指定的时间内完成客户给出的需求。当短期内完成功能的需求和复用发生冲突时,理智的项目管理者都不会选择将注意力放在复用上。当然,热衷于复用的程序员必然会以长远的好处为理由为复用辩护;但正如前面的规则指出的,这依然是一个工程上的选择问题,因而仍然需要折衷。在遇到问题时,总是先倒向某一个结果再试图解释,这不是折衷,而是预设立场,这恰恰是工程的大忌。至于第二个问题,回答是:是的,对任何问题只解决一次是理想状态,但重复解决三到五次问题并非十恶不赦。客户关心的是我们能不能解决他们的问题,而不是能不能对任何问题都只解决一次。——不要把自己的需求误以为是用户的需求,这仍然是一个工程问题。

专业的网站建设公司,深正互联,如您有网站营销需求,请您关注我们,或者致电13828884598

本站文章均为深正网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,但谢绝直接搬砖和抄袭!感谢...
关注深正互联
我们猜你喜欢