过早优化是万恶之源

今天早上考虑了一些问题,觉得有些地方按自己的设想会导致效率下降,如果改了可能把自己的架构搞乱。纠结了半天,领悟到这么一点:

架构、设计完成后,就这样做,觉得有地方可以修改,可以记录下来,以后优化时再修改。因为按照自己的架子来搭建程序的话,开发效率会很高,后期汇总了所有可优化的地方,再来修改也会很有针对性。如果一边写,一边改,一方面是让开发效率下降,还可能让自己的设计思路变得混乱,严重可能导致错误,甚至停止不前。所以,优化一定放在最后再来做!!!

同时,看lua文章时,看到一句话:

Knuth有句名言:“过早优化是万恶之源”。其意思就是过早优化是不必要的,会浪费大量时间,而且容易导致代码混乱。

竟然和我的想法不谋而合,嘿嘿……

不过,优秀的架构、设计和代码才是最重要的,也是最基本的,因为一对垃圾代码,优化了也没有用。

时间: 2024-11-07 19:49:53

过早优化是万恶之源的相关文章

过早的优化是万恶之源

这两天,我做了两件事: 1.重构了系统某个模块的部分代码: 花了一天时间,一个6k多行的java文件,搞到4k行加若干个类文件,恕我能力有限,后面的实在重构不下去了,那是一种3个domain属性名几乎一样100多个字段但是却用同一个copy了三遍的方法来处理的欲哭无泪,那是一种使劲滚鼠标滚轮都滚不到一个方法尾部的绝望(100多个字段的几个类属性equals来,equals去,get来,set去的,这样类型的方法有那么五六个,你说能不多吗)...... 2.做了一个日志处理的小工具: 客户要求把日

谈谈对一些软件架构设计箴言的理解 对软件的过早地优化是万恶的根源

http://www.nowamagic.net/librarys/veda/detail/1897在做项目的时候,有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Knuth 提到的:对软件的过早地优化是万恶的根源.这里就简单的说几条重要的软件名人哲学. 软件中唯一不变的就是变化 在软件开发过程中需求是不停的变化的,随着客户对系统的认识,和现有开发功能和软件的认识,也许一开始他提出的需求就是背离的.记得网上有一句笑话,是说需求变化的: 程序员XX遭遇车祸成植物人,

【开发模式】项目过早优化现象:处女座专属鸡汤

最近在Coursera上看机器学习,顺便梳理了下算法体系. 其中Andrew Ng就有提到一个"过早优化"的观点非常喜欢:         与其将大把时间花费在挑选学习算法.更换模型上,然后花费6.7个月收集数据,(潜台词:这是愚蠢的做法,bad idea) 不如         凭直觉先随意挑个算法.用少量数据在1,2天内进行实现,然后通过学习曲线.误差分析来调整这个学习算法,并判断特征是否足够区分,是否需要加入新的特征变量,直到有证据表明目前特征适合且只欠缺样本量/数据后再开始收集

明确目的以及不要过早优化

上周的嵌入式实验课做了一个关于ADC的实验,即用从5V中用变阻器分出一部分电压,用ADC采样量化作为输入信号,要求是使LED闪烁频率随这个信号限值(包括上限A上和下限A下)的幅度的增大而变快. 设输入信号幅度是A,一个思路是用延时,A-A下  越大,两次亮灯之间的延时越小,这样也就是闪得越快了.低于下限的时候同理.不过这篇随笔主要不是讲这个思路有多好(一般都能想到这个思路),而是要说它的实现. 先说说当时是怎么做的吧..由于已经给了例程,一般情况下为了图方便省事是直接修改,或者调用里面的函数(而

python真的是万恶之源么?(初识python)

python真的是万恶之源么? 计算机基础及puthon了解 1.计算机基础知识 cpu : 相当于人类大脑,运算和处理问题 内存 : 临时存储数据,单点就消失,4G,8G,16G,32G 硬盘 : 永久存储数据 操作系统 : 是一个软件,控制每一个硬件之间的数据交互 2.python的应用和历史 python的创始人为吉多·范罗苏姆 python主要崇尚的市优美,清晰,简单,并且功能全面,易学易懂,可扩展的语言. 目前puthon的主要应用领域 云计算 : 云计算最火的语言, 典型应用Open

万恶之源-再谈编码

万恶之源-再谈编码 本节主要内容: ?小数据池 is和==的区别 3. 编码的问题 ?一. ?小数据池 在说?小数据池之前. 我们先看?一个概念念. 什什么是代码块: 根据提示我们从官?方?文档找到了了这样的说法: A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are bloc

最短路算法模板合集(Dijkstar,Dijkstar(优先队列优化), 多源最短路Floyd)

再开始前我们先普及一下简单的图论知识 图的保存: 1.邻接矩阵. G[maxn][maxn]; 2.邻接表 邻接表我们有两种方式 (1)vector< Node > G[maxn]; 这个是之前就定义了图的大小了,再下面使用的时候就不用对图的大小进行申请了, 但是因为是直接申请了大小 要对图进行初始化,因此可能在某些题目中这样使用的话会超时 (2)vector< vector<Node> > G; 这个是未定义大小,但是在使用之前要对其的大小内存进行申请. G.resi

wordpress疯狂的大叔,主题标题+标签云等多项优化,附带主题源码下载

cu主题是由疯狂的大叔设计,界面简洁大方是它最大的特点之一. 手残君也比较喜爱这款主题,在使用的过程中,根据手残君的个人习惯,对其进行了优化. 标题优化 标题居中显示 增加标题div背景色 标题div平滑优化 相关代码: .wen-title{ margin-bottom: 60px; background-color:#00bcd4; padding-top: 10px; padding-bottom: 10px; border-radius: 15px 5px; padding-right:

记一次PHP优化极速、赛车源码平台搭建架设案例

一.案例分析.极速.赛车源码平台搭建架Q:2947702644我们可以想到,既然是访问缓慢,有时候直接访问不了,以前是没问题的,到现在就突然出现了问题,那必定是我们的nginx与php响应不过来导致的,原因可能是其他域名网站的用户连接数巨增导致的.那我们找到问题的根源解决并优化就可以了.接着凭着自己的经验与百度,去解决问题. 二.问题解决与过程分析 1.Nginx优化: 1.查看nginx的日志,找出错误 $ cat /usr/local/nginx/logs/error.log | grep