傳統觀念認為一旦專案進入編碼階段,工作就大多是機械性的——把設計轉譯成可執行的語句。作者認為這種態度是軟體專案失敗的最大原因。

編碼不是機械性的工作。每分鐘都有需要仔細思考和判斷的決策。要讓程式享有長久、準確、有生產力的生命,我們在編碼時必須時刻保持警覺。就像開車一樣——大部分時間可以靠自動駕駛,但保持警覺能防止災難發生。

本章概覽#

Topic說明
Topic 37 - 聆聽您的蜥蜴腦學會傾聽你的直覺和本能,它們是經驗累積的隱性知識在發聲
Topic 38 - 靠巧合寫程式不要依賴運氣和巧合,要刻意地、有目的地編寫程式
Topic 39 - 演算法速度使用 Big-O 表示法估算演算法的資源消耗,做出務實的選擇
Topic 40 - 重構程式碼需要演化,重構是日常活動,趁問題還小時及早處理
Topic 41 - 測試對程式碼的意義測試不是為了找 bug,而是在思考和撰寫測試時獲得對程式碼的回饋
Topic 42 - 以屬性為基礎的測試讓電腦幫你測試,用合約和不變量驗證你的假設
Topic 43 - 待在安全的地方安全是基本原則,最小化攻擊面、最小權限、安全預設值
Topic 44 - 命名命名揭示了你的意圖和信念,好的命名讓程式碼更清晰

核心觀點: 編碼不是單純地把設計轉為程式碼,而是一連串需要判斷力和深思熟慮的決策。務實的程式設計師在編碼時批判性地思考所有程式碼,持續尋求改進的空間。