優秀程序員的兩大要素: 懶 + 笨

 

 只有懶惰的程序員纔會去編寫那些可以最終代替自己工作的自動化工具,纔不會成天爲了實現相似的功能去編寫大段大段冗餘重複的代碼 - 這種代碼往往是軟件後期維護和重構的天敵。通常來說,由於惰性的驅使所產生出來的工具和程序將最終極大的提高生產開發的速度。
      當然,對於一個程序員來說,光光具備懶惰這個要素還是不夠的。在享受懶惰之前,他必須以最大的熱情和最高的效率去研究解放自己的途徑,比如:找到最有助於開發的工具,最能體現“一次編寫,多次複用”精神的代碼架構的設計。只有在這些必要的工作之後,纔可能真正享受輕鬆編程的樂趣。所以“懶”的精髓用一句老話來描述,那就是磨刀不誤砍柴功。如果你不想辦法磨亮手中的柴刀,就算一天二十四小時都在砍柴,效果也不如拿把鋒利的斧頭一天只砍一小時。從這個角度來說,Google給員工的20%自由時間是完全發揮了“懶”的能動力。爲了更好的享受偷懶的樂趣,員工會更加具有創造力的去高效完成自己的任務。誇張一點來說,懶惰纔是人類進步的原動力。

這一點似乎比懶更讓人不能接受。在解釋這裏所說的笨的具體含義之前,我們先看看一個聰明人(或者說認爲自己足夠聰明)會做什麼:
                     1) 停止學習新的東西
                     2) 不願意用批判的眼光去審視自己的工作
      第1點將使我們很難去接受或者主動的去研究一項新的技術 - 即使新技術能帶給他更多工作上的便利。第2點會使我們無法清晰的分析自身工作的問題所在,要對其進行改進或者重構就更加困難。
      從這兩點來考慮,作爲一個程序員太自以爲是不見得是件好事情。由於對自身的過於自信,往往無法客觀的看待自己和自己的工作。相反的,笨一點(確切的說,謙遜一點)有時候倒有助於開發的順利進行。舉例來說,當程序出現bug的時候,最好儘早承認問題是出在自己編寫的代碼上面而不是在於編譯器(當然除非是字節高低位編碼方式之類的問題,這種問題編譯器會是錯誤的根源之一)。如果你太自負的認爲自己的程序沒有問題而去猜測可能是編譯器或者其他的什麼外部因素出問題的話,那麼十有八九你會在調試過程中走上一長段的彎路。程序員應該笨一些的更爲關鍵的原因在於,當需要思考問題的最佳解決方案的時候,往往要求我們首先要跳出思維定式。你對系統瞭解的越多,積累了越多的經驗,就越難走出已有的侷限,可以嘗試的範圍就越小。相反的,對於一個什麼也不懂的門外漢來說,因爲沒有任何失敗的記憶和潛規則的約束,也就沒有什麼是“不可能”的,這樣的大腦所能迸發出來的在專業人士看起來愚不可及的想法往往正是解決問題所需要的關鍵點所在。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章