想寫程式碼?離開你的電腦吧!

發表於2011-06-23

最近我認識到一些事情。寫程式碼的最好地方不是在電腦前用你的編譯器、整合開發環境和各種工具來寫。寫程式碼最好是遠離所有這些工具,去到你能夠正確思考的地方。你相當熟悉一種語言了,你很容易就能把你心中的程式翻譯成編譯器可以編譯(或直譯器可以解釋)的程式,不過,難就難在心中形成程式。

前幾天我坐火車去旅行。我帶了電腦,但沒有網路。很不幸,我正要用一個商業程式語言(碰巧是IDL),為此我得用我們大學的網站許可。由於無法上網,我無法獲得網站許可,這樣我也就不能執行編譯器和整合開發環境。雖然你喜歡商業程式語言,但它需要昂貴的許可,而它那時使我不能用編輯器寫程式碼。那麼……想想看是什麼…… 到底是什麼使我思考!

編者:IDL-Interactive Data Language,IDL是一種資料分析和影象化應用程式及程式語言,先由美國ITT公司所有。最初在七十年代後期用於幫助科學家分析火星探險衛星發回的資料,將浩瀚的資料轉換為圖形。從此後,IDL得到廣泛運用,使用者日眾,呈幾何級別增長。IDL使用者可以迅速且方便地運用此軟體將資料轉換為影象,促進分析和理解。通過軟體轉化的影象既可以是簡單色彩,也可以是全色三維影象和模型。),

我想這篇文章與《 Does Visual Studio Rot the Mind?(Visual Studio 是否使人腦退化?)》中的下面的這句話有點相似:

我從第一任老闆那裡學到的最好的一課就是:“如果你的程式碼無法如你期望的那樣執行,不要用偵錯程式(debugger),自己想。”

那就是離開電腦後迫使你做的事情。人很容易陷入下列的思維模式:

  • 寫一些(相當差的)程式碼
  • 編譯和執行
  • 用一個選擇不當的測試案例來測試
  • 發現它無法執行
  • 做一些小改動,或許可能解決問題,
  • 重複以上步驟……

當然這導致最後編寫的程式碼閱讀性很差,可能有很多問題,測試通不過。

離開電腦,迫使你充分調動你頭腦裡的想法,與用電腦編譯和執行程式碼相比,那會花更多時間(至少對小程式來說是如此……)。因此你不需要做很多小改動和重新執行,你會認真思考程式碼在做什麼。自從計算機A 級考試以來,直到我前幾天在火車上這樣做的時候,我才第一次在紙上“執行”程式碼(就是說,寫好每個變數的列,並在程式中計算出每個變數的值)。

就前幾天寫程式碼這個例子來說,我在一張紙上寫出程式碼,思考所寫的程式碼,逐步打出一些程式碼,思考更多,時間長了之後我就嘗試用編輯器編輯,設法寫出了一些質量高、快速並且無漏洞的程式碼。最後我把程式碼(一些涉及很多遞迴的區域增長影象分割程式碼)從紙上覆制到我的整合開發環境中,第一次就編輯(只有一個句法錯誤 ——我永生難忘)並執行成功(而且完成了所有我在紙上設計的測試)。

我認為工作完成得很好,並希望這是一個有用的建議。

 

 

原文:Robin Wilson  翻譯:敏捷翻譯丘建紅

如需轉載,但請註明原文/譯文出處、譯文超連結和譯者等資訊,否則視為侵權,謝謝合作!

相關文章