傳統觀念認為一旦專案進入編碼階段,工作就大多是機械性的——把設計轉譯成可執行的語句。作者認為這種態度是軟體專案失敗的最大原因。
編碼不是機械性的工作。每分鐘都有需要仔細思考和判斷的決策。要讓程式享有長久、準確、有生產力的生命,我們在編碼時必須時刻保持警覺。就像開車一樣——大部分時間可以靠自動駕駛,但保持警覺能防止災難發生。
本章概覽#
| Topic | 說明 |
|---|---|
| Topic 37 - 聆聽您的蜥蜴腦 | 學會傾聽你的直覺和本能,它們是經驗累積的隱性知識在發聲 |
| Topic 38 - 靠巧合寫程式 | 不要依賴運氣和巧合,要刻意地、有目的地編寫程式 |
| Topic 39 - 演算法速度 | 使用 Big-O 表示法估算演算法的資源消耗,做出務實的選擇 |
| Topic 40 - 重構 | 程式碼需要演化,重構是日常活動,趁問題還小時及早處理 |
| Topic 41 - 測試對程式碼的意義 | 測試不是為了找 bug,而是在思考和撰寫測試時獲得對程式碼的回饋 |
| Topic 42 - 以屬性為基礎的測試 | 讓電腦幫你測試,用合約和不變量驗證你的假設 |
| Topic 43 - 待在安全的地方 | 安全是基本原則,最小化攻擊面、最小權限、安全預設值 |
| Topic 44 - 命名 | 命名揭示了你的意圖和信念,好的命名讓程式碼更清晰 |
核心觀點: 編碼不是單純地把設計轉為程式碼,而是一連串需要判斷力和深思熟慮的決策。務實的程式設計師在編碼時批判性地思考所有程式碼,持續尋求改進的空間。