灵活的代码是万恶之源
所属分类 architecture
浏览量 643
过早优化是万恶之源!
Premature optimization is the root of all evil
过早优化是很多程序员的坏习惯,另外一个坏习惯,则是过早灵活化
过早灵活化的含义指是:向代码添加复杂度让它变的灵活,以期能应付未来的变化
程序员犯的最大错误是编写灵活而抽象的代码
一般认为 编写灵活而抽象的代码有助于系统快速演进发展
编写接口、抽象类、框架和平台,假设它们能更快地满足未来的需求
灵活性 和 可复用性
灵活性必然伴随着复杂性,复杂性让改变更加困难
不仅仅只是需求发生了变化,而且变化通常总是以程序员没有预料的方式发生
把东西做得尽可能简单,那么沿着任何方向对它进行扩展至少都是可行的
Sandi Metz说过一句很经典的话:代码重复比错误的抽象要好
Duplication is better than the wrong abstraction.
一旦抽象被证明是错误的,最好的策略是重新引入重复的代码,让它告诉你什么是正确的。
在软件设计也有一句著名的“使用-复用悖论”(Use-Reuse Paradox)
容易使用的东西很难复用 ,容易复用的东西很难使用
What's easy to use is hard to reuse. What's easy to reuse is hard to use.
设计模式,是面向对象的经典 ,很多模式都是让软件变的灵活
但是现实世界的例子是:一代又一代被淘汰的灵活框架
它们总是被其它的“灵活的”框架所取代,下一代总是证明上一代的错误灵活性
而C标准库 , 它的设计不是为了灵活,而是为了尽可能简单
30多年过去了,它还在被使用
“简单”是一个非常微妙的概念 ,它并不一定意味着“粗糙的”。
简单的解决方案是解决现在的问题,而不是解决后面可能会面临的问题
灵活、抽象的代码很难使用,也很难理解。
活在当下 ,通常情况下只编写简单直接的笨代码 ,只在必要时增加灵活性
上一篇
下一篇
《漫画中国式项目管理》精句
购房签合同注意事项
买房相关的术语
影响房价的几个因素
汽车行业专业术语
时间加权收益率 TWRR