名字取不好——光看函式、變數或類別的名字,看不出它在做什麼。更關鍵的是:「取不出好名字」本身就是訊號,代表你可能還沒真正理解它的職責。
🧠 Why It's a Problem
- 名字是最便宜的文件:它是程式碼裡最常被讀到的東西;含糊的名字逼讀者一路跳進實作,去逆推它到底在幹嘛。
- 命名困難 = 理解不足:本章直接點名——難以命名,代表功能理解不足。取名字的過程會逼你想清楚它做的是什麼;如果想不清楚,往往代表這段程式的職責本身就不乾淨。
- 本章把它歸在命名與基本邏輯——程式碼的可讀性,從命名開始。
TIP
對應的重構就是 Rename(函式用 Change Function Declaration 這個機械手法安全改名)。改名看似瑣碎,卻是最高性價比的清理之一。
⚖️ Refactoring
Rename:把含糊的名字換成能直說意圖的名字。若一時取不出好名字,那正是提醒你先把這段程式的職責想清楚。
前 — 名字什麼都沒說
function calc(a, b) {
return a * (1 + b);
}calc、a、b 逼讀者猜:這是算什麼?b 是什麼?只能跳進去逆推。
後 — 名字直接說出意圖
function totalWithTax(price, taxRate) {
return price * (1 + taxRate);
}現在讀名字就懂:含稅總額 = 價格 ×(1 + 稅率)。不必再跳進實作。
🔑 Takeaways
- 神秘命名的代價是逼讀者逆推意圖;好名字把意圖直接寫在最顯眼的地方。
- 「取不出好名字」是設計訊號——常代表你對這段程式的職責還沒想清楚。
- 標準解是 Rename(函式用 Change Function Declaration 安全改名)。
- 這是意圖揭示的命名在 code smell 端的鏡像:命名不清,就是味道。
No notes yet — jot your takeaways or Q&A here.