10.30(續)
代碼大全2的11-13章的讀后感:
第 11 章談變量命名,直指 “模糊命名導致的理解成本”:很多人寫代碼時覺得x“y”“tmp” 夠用,可過了半個月回頭調試,卻要花十分鐘回憶x到底代表用戶 ID 還是訂單編號;而 “名稱反映用途” 的原則,本質是提前消除這種 “記憶負擔”,就像用userRegisterId替代x,用orderTempStorage替代tmp,每次看到變量名,就能直接關聯業務邏輯,無需額外追溯。?
第 12 章的數據類型選擇,同樣在解決 “隱性風險”。實際開發中,不少人習慣用int表示所有狀態值,比如用1代表 “已支付”、2代表 “已發貨”,可時間久了,新接手的同事可能誤把3設為 “已完成”,導致狀態邏輯混亂。而章節提倡的枚舉類型,恰好能通過預定義值約束輸入,比如OrderStatus.PAID“OrderStatus.SHIPPED”,不僅讓狀態含義清晰,還能避免非法值的出現,這種 “用數據類型控制風險” 的思路,比事后排查錯誤高效得多。?
第 13 章對控制結構的優化,則針對 “邏輯纏繞” 的問題。我曾見過嵌套四層if-else的代碼,每次修改都要順著縮進一層層找邏輯分支,稍不注意就會遺漏條件;而章節里 “拆解嵌套為衛語句” 的方法,比如把 “不滿足條件就返回” 的邏輯放在代碼開頭,剩下的主邏輯無需縮進,瞬間讓代碼結構變清晰。還有用for-each替代傳統for循環,不僅減少了數組下標越界的風險,更讓 “遍歷集合” 的意圖直接呈現,這些技巧不是為了 “炫技”,而是為了讓邏輯更易被理解。

浙公網安備 33010602011771號