懶 只有懶惰的程序員才會(huì )去編寫(xiě)那些可以最終代替自己工作的自動(dòng)化工具,才不會(huì )成天為了實(shí)現相似的功能去編寫(xiě)大段大段冗余重復的代碼 當然,對于一個(gè)程序員來(lái)說(shuō),光光具備懶惰這個(gè)要素還是不夠的。在享受懶惰之前,他必須以最大的熱情和最高的效率去研究解放自己的途徑,比如:找到最有助于開(kāi)發(fā)的工具,最能體現“一次編寫(xiě),多次復用”精神的代碼架構的設計。只有在這些必要的工作之后,才可能真正享受輕松編程的樂(lè )趣。 所以“懶”的精髓用一句老話(huà)來(lái)描述,那就是磨刀不誤砍柴功。如果你不想辦法磨亮手中的柴刀,就算一天二十四小時(shí)都在砍柴,效果也不如拿把鋒利的斧頭一天只砍一小時(shí)。 從這個(gè)角度來(lái)說(shuō),Google給員工的20%自由時(shí)間是完全發(fā)揮了“懶”的能動(dòng)力。為了更好的享受偷懶的樂(lè )趣,員工會(huì )更加具有創(chuàng )造力的去高效完成自己的任務(wù)。 夸張一點(diǎn)來(lái)說(shuō),懶惰才是人類(lèi)進(jìn)步的原動(dòng)力。 笨 這一點(diǎn)似乎比懶更讓人不能接受。在解釋這里所說(shuō)的笨的具體含義之前,我們先看看一個(gè)聰明人(或者說(shuō)認為自己足夠聰明)會(huì )做什么: 1) 停止學(xué)習新的東西 2) 不愿意用批判的眼光去審視自己的工作 第1點(diǎn)將使我們很難去接受或者主動(dòng)的去研究一項新的技術(shù) 從這兩點(diǎn)來(lái)考慮,作為一個(gè)程序員太自以為是不見(jiàn)得是件好事情。由于對自身的過(guò)于自信,往往無(wú)法客觀(guān)的看待自己和自己的工作。相反的,笨一點(diǎn)(確切的說(shuō),謙遜一點(diǎn))有時(shí)候倒有助于開(kāi)發(fā)的順利進(jìn)行。舉例來(lái)說(shuō),當程序出現bug的時(shí)候,最好盡早承認問(wèn)題是出在自己編寫(xiě)的代碼上面而不是在于編譯器(當然除非是字節高低位編碼方式之類(lèi)的問(wèn)題,這種問(wèn)題編譯器會(huì )是錯誤的根源之一)。如果你太自負的認為自己的程序沒(méi)有問(wèn)題而去猜測可能是編譯器或者其他的什么外部因素出問(wèn)題的話(huà),那么十有八九你會(huì )在調試過(guò)程中走上一長(cháng)段的彎路。 程序員應該笨一些的更為關(guān)鍵的原因在于,當需要思考問(wèn)題的最佳解決方案的時(shí)候,往往要求我們首先要跳出思維定式。你對系統了解的越多,積累了越多的經(jīng)驗,就越難走出已有的局限,可以嘗試的范圍就越小。相反的,對于一個(gè)什么也不懂的門(mén)外漢來(lái)說(shuō),因為沒(méi)有任何失敗的記憶和潛規則的約束,也就沒(méi)有什么是“不可能”的,這樣的大腦所能迸發(fā)出來(lái)的在專(zhuān)業(yè)人士看起來(lái)愚不可及的想法往往正是解決問(wèn)題所需要的關(guān)鍵點(diǎn)所在。
-
這種代碼往往是軟件后期維護和重構的天敵。通常來(lái)說(shuō),由于惰性的驅使所產(chǎn)生出來(lái)的工具和程序將最終極大的提高生產(chǎn)開(kāi)發(fā)的速度。
-
即使新技術(shù)能帶給他更多工作上的便利。第2點(diǎn)會(huì )使我們無(wú)法清晰的分析自身工作的問(wèn)題所在,要對其進(jìn)行改進(jìn)或者重構就更加困難。
聯(lián)系客服