Donald Knuth說(shuō)“過(guò)早優(yōu)化是萬(wàn)惡之源”(premature optimization is the root of all evil),
切勿過(guò)早優(yōu)化
。這話也許有些夸張,但“過(guò)早優(yōu)化”的危害我覺(jué)得不能忽視。同時(shí),我覺(jué)得“過(guò)早優(yōu)化”的概念不專(zhuān)屬編寫(xiě)程序,生活中的示例也比比皆是。不信,你看看下面這些情形你是否遇到過(guò)。1、當(dāng)你開(kāi)始學(xué)一門(mén)程序語(yǔ)言的時(shí)候(比如c#),你想如果可以精通開(kāi)發(fā)工具(比如Visual Studio)一定如虎添翼,于是一開(kāi)始你就花很多時(shí)間去研究開(kāi)發(fā)工具,而忘記自己學(xué)習(xí)的重點(diǎn)是語(yǔ)言本身,而非工具;蛘,一開(kāi)始,你花不少的時(shí)間去選擇哪門(mén)程序語(yǔ)言,比較各種語(yǔ)言的優(yōu)劣,在五花八門(mén)的語(yǔ)言前面猶豫不決,這個(gè)想學(xué),那個(gè)也不想放棄,結(jié)果都是學(xué)個(gè)半路子。
2、當(dāng)你學(xué)習(xí)一門(mén)外語(yǔ)比如英語(yǔ)的時(shí)候,一開(kāi)始,你花了很多的時(shí)間去下載有關(guān)英語(yǔ)資料,花了很多的時(shí)間去找英語(yǔ)書(shū)籍,以為有了這些資料和書(shū)籍就可以學(xué)好英文,而不是一開(kāi)始就踏踏實(shí)實(shí)的從單詞、語(yǔ)法開(kāi)始,結(jié)果后來(lái)資料下載了一大堆,書(shū)籍買(mǎi)了不少,卻沒(méi)有堅(jiān)持下去。
3、你想搞體育鍛煉,比如打羽毛球,于是一開(kāi)始你花大量時(shí)間去買(mǎi)球衣、球鞋、球拍等裝備,可沒(méi)連幾天,你發(fā)現(xiàn)自己開(kāi)始三天打魚(yú)了,最后,那些裝備都起了灰,也沒(méi)鍛煉幾次。
4、你想做時(shí)間管理(Getting Things Done),于是你研究各種時(shí)間管理的資料,上各種時(shí)間管理技巧的網(wǎng)站,比如lifehack、 digg 、gtdlife,下載對(duì)最流行的GTD的管理軟件,以節(jié)省時(shí)間的名義浪費(fèi)時(shí)間,很浮躁,不能做到實(shí)實(shí)在在把每天的計(jì)劃都落實(shí),拖拖拉拉,
管理資料
《切勿過(guò)早優(yōu)化》(http://www.msguai.com)。5、你有沒(méi)有這樣的體驗(yàn),一本書(shū)你總是對(duì)開(kāi)頭的部分看的最仔細(xì),后面的章節(jié)沒(méi)堅(jiān)持看下去,下次又重復(fù)這種循環(huán)。當(dāng)你計(jì)劃做一件事的時(shí)候,總是規(guī)劃的非常完美,幾乎考慮每個(gè)細(xì)節(jié),但卻沒(méi)有認(rèn)認(rèn)真真、一步一步執(zhí)行,或者過(guò)早完美計(jì)劃,反而讓你縮手縮腳,猶豫不前,瞻前顧后,顧此失彼,最后虎頭蛇尾。
6、比如,如果我有了錢(qián),我就如何如何享受快樂(lè),比如,如果我將來(lái)有了很多的時(shí)間,我就會(huì)花更多的時(shí)間陪家人或鍛煉…
這樣類(lèi)似的例子還可以舉很多。
過(guò)早優(yōu)化對(duì)大的問(wèn)題在于:過(guò)早關(guān)注不重要的部分,而忽略行動(dòng)和目標(biāo)本身。以靜態(tài)的思維來(lái)優(yōu)化,殊不知,事務(wù)發(fā)展總是動(dòng)態(tài)的,“優(yōu)化”是需要長(zhǎng)期的實(shí)踐積累才可以獲得。出發(fā)點(diǎn)是好的,但往往好心辦壞事,折騰大量的時(shí)間,做了很多不該做的,而該做的、重要的反而沒(méi)做。強(qiáng)化外部條件、工具等外在,而忽略?xún)?nèi)在因素和行動(dòng)本身,或者,過(guò)多期望將來(lái),而忽略當(dāng)下眼前。
活在當(dāng)下,實(shí)實(shí)在在做好手頭的事,是避免“過(guò)早優(yōu)化”最好的方法之一。
本文來(lái)自:http://www.watch-life.net/life-thinking/no-premature-optimization.html