想寫程式嗎?遠離你的計算機!

發表於2011-03-31
我最近想明白了一些事情。最好的寫程式的地方不是在你的計算機前,不是使用你的編譯器、IDE或其它一些工具。這最好的地方是一個遠離這些工具的場所 —— 是某個能讓你認真的思考的地方。對於一個你很熟悉的程式語言,你很容易把你腦子裡已經構思好的程式轉換成編譯器/直譯器可以編譯/解釋的程式 —— 難就難在如何在腦子裡先把程式編好。



有一天我乘火車旅行。我帶了筆記本,但沒有網路。不幸的是,我使用的是一種商業程式語言(IDL,真不巧),這種語言需要使用我大學網站上的許可證。因為不能連上網際網路,我拿不到許可證,於是我的編譯器和IDE就跑不起來。你可能會喜歡使用一個需要昂貴的許可證的商業程式語言,但它的確使我不能在編輯器裡寫任何的程式碼。而你猜這麼著 … 這讓我開始思考!

我想這篇部落格正好印證了Does Visual Studio rot the mind?這篇部落格的內容,它裡面說道:

我從我的第一個老闆那裡學到的最大的一個教訓是:“當你的程式執行異常時,不要使用debug工具,用你的大腦。”

這就是遠離電腦後會迫使你去做的事。通常你很容易進入這樣一種程式設計習慣:

  • 寫一些程式(亂糟糟的)
  • 編譯,執行
  • 使用簡單的測試用例進行測試
  • 發現有問題
  • 小改一下程式,也許能解決這個問題
  • 重複 …


這當然會導致程式最終亂糟糟的,無法閱讀理解,很有可能問題多多,沒有很好的測試。

遠離計算機能迫使你在大腦裡周全的思考所有的問題 —— 這跟你抱著計算機編譯、執行你的程式相比可能會花更長的時間(至少對於小程式是這樣)。可是,這樣做後,你就不會去一點一點的改動程式、一遍遍試著執行它們了,你是真正的思考這些程式碼是做什麼的。在那天、在火車上之前,我還從沒有在紙上規劃過任何的程式。

而從此之後我努力在寫程式之前會把思路畫在紙上,思考它,一步一步的用程式碼實現,做出高質量的,高效的,沒有問題的程式,多去思考,最後才在編譯器上執行。程式是最後才從紙上拷貝到編譯器裡。

任務完成的很好 —— 我自認為,希望這是一個有用的建議。

英文原文:Want to write some code? Get away from your computer!
評論(1)

相關文章