Paul W. Homer

「再做一次……」#

作者的老闆 Stefan 不是最多話的人,但他知道什麼是爛程式碼,也知道該怎麼處理。他按下 Delete 鍵,作者只能帶著沉痛的心情看著自己的程式碼一行一行地消失。

初學者的陷阱#

作者當時是一個充滿熱情但完全不知道如何寫程式的學生。他有一個可怕的習慣:認為解決每個問題的方式就是在另一個地方多加一個變數,或者多丟一個 throw。壞日子裡,程式碼不但沒有越來越好,反而越來越大、越來越複雜,離正常運作越來越遠。

刪除是為了重生#

嘗試搶救爛程式碼所浪費的時間比想像的多。一旦某段程式碼變成資源的無底洞,就需要果斷地捨棄

老闆的反應雖然極端,但確實迫使作者在第二次(偶爾第三次)嘗試時重新思考。修復爛程式碼最好的方式是進入一種模式:毫不留情地重構、移動或刪除程式碼。

程式碼應該簡單#

程式碼應該是簡單的

  • 最少數量的變數、函式、宣告和其他語法元素
  • 多餘的行、多餘的變數……多餘的任何東西,都應該立即清除
  • 留下來的應該恰好足夠完成任務、執行演算法或進行運算
  • 其他一切都只是多餘的噪音——它們意外地被引入,模糊了流程,隱藏了重要的東西

如果上述方法都不管用,那就把整段程式碼全部刪掉,從頭重新輸入。從記憶中重寫,往往能幫助你省去大量不必要的雜亂。