首页  

灵活的代码是万恶之源     所属分类 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