过早优化是万恶之源
今天端午节,祝大家端午安康。在假期发文章,一般阅读量都会惨不忍睹,因为大家都忙于享乐和休息。所以,今天我就分享几个有意思的小故事吧。让大家娱乐的同时,也能收获一点感悟。
是不是大家都有一种这样的心态呢?比如我刚毕业那会,我决定我要读书,去丰富自己。但是,读书就需要 kindle ,所以,我得先买一个 kindle ,然后花了好长时间去挑选 kindle ,为了省点钱,还专门等搞活动的时候买,kindle 买完了之后,开始精心策划和挑选可以让我成长的书,然后在网上搜索哪些书好,值得读,然后列了很多清单。等这些行动和准备完毕后,两个月的时间过去了,可是书,我还没有读起来。终于策划完了,可是读书也没有坚持读多久。
还有的人,比如说我该减肥了,我想每天坚持跑步。然后一想,跑步需要什么?我需要一双跑鞋,然后开始挑选跑鞋,跑鞋买完之后,感觉还需要速干的运动衣,然后又花了好几天时间去挑选购买速干的运动衣。好嘛,等跑鞋和衣服准备好了,两周过去了。万事俱备,我要跑了。谁知道,刚跑一周就放弃了。
比如我们小时候吧,那个年代的人,家里都不富裕,尤其是父母长辈买衣服的时候,都特别喜欢给我们买稍微大点的衣服,而不是买正合适的衣服。因为父母长辈以为这样可以省钱,可以让我们多穿两年。但是呢?可能穿了一年,就穿破了,第二年也不穿了。而当时正穿的时候,穿的也不舒服。
读完这三个小故事,大家想到了什么?就是想法太多,高估了自己的行动力。
总结一句话就是:过早的关注了不重要的部分,忽略了行动和目标本身,高估了自己的想法。
你想一想,没有 kindle 就不能读书了吗?
没有跑鞋和运动衣就不能跑步运动了吗?
买稍微大点的衣服就真的穿的时间长了吗?
在我们软件工程学上叫:过早的优化是万恶之源。所以这并不是没有道理的。其实,事物的发展过程是动态变化的,而我们当时的想法属于静态思维,用静态思维去应对事物的动态变化,总是会让你走弯路的。你看似想的很周全,想节约时间,但是却走了弯路。
想一想,我们敲代码编程的时候,前期如果想这么多,将来的变化不一定是你当时那么想的,你可能都用不上,也可能你当时设计的那么周全,考虑的那么多,后期都会变的。
正确的做法是什么呢?先快速实现你的需求,做好单元测试,然后做 profile 去找到性能的瓶颈,这个时候再优化它。
过早优化是万恶之源的根本有两点:
人们往往总是高估自己的行动力和目标;
过早的关注了不重要的部分,浪费了时间。
所以,合适才是重要的,因为任何事物没有完美可言。
最后,希望我今天的分享能够给你带来一些启发和感悟。祝大家端午安康。
版权声明: 本文为 InfoQ 作者【非著名程序员】的原创文章。
原文链接:【http://xie.infoq.cn/article/907ae5847c83554de8504c1db】。文章转载请联系作者。
评论