Any fool can write code that a computer can understand. Good programmers writes code that humans can understand.
- M. Fowler (1999)
我的閱讀順序是先從 1、2、4 章開始,這幾章是重構的原則和大方向。然後再去看第 3 章,從各種程式碼壞味道中,逐一檢視各種重構技巧。
(以下筆記陸續更新中…)
重構的原則(心法)
程式碼壞味道(技法)
24個壞味道和相對應的重構技法
Part 1:
- 難以理解的命名
- 重複的程式碼
- 過長的函式
Part 2:
- 過長的參數列
- 全域的數據
- 可變的數據
Part 3: …
動機
2018年的第二版跟第一版差了10幾年,內容也有大幅度的改動。重構真的是本非常有意思的書,隨著經驗的不同,每次看都會有不同的體悟。
回想自己在閱讀第一版的時候,重點都放在學習各種“技法”,也就是書中的程式碼範例上。迫不及待地想要依樣畫葫蘆,這裡修修,那裡改改,卻總是覺得不滿意。
3、5年過去,期間重構了不少自己和別人的程式碼,多少累積了一點經驗。現在看新版,反而覺得偏向經驗的“心法”相對更加重要,也就是書中的文字敘述部分。像是要用什麼角度評估一段程式碼(e.g. 效能 vs 可讀性)、不同情境下作者的思考脈絡等等。
我想為自己做一個“重點式”的心得筆記,希望幾年後的自己再回來看時,會有更多不一樣的想法。
如果這系列文章對你有所幫助的話,歡迎拍手讓我知道,最多可以拍50下喔👏👏