iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

消除你程式碼的臭味 系列

這次不談華麗的設計模式,只專注分享務實的技巧,讓你的程式碼變得乾淨、可靠、又好維護

參賽天數 23 天 | 共 23 篇文章 | 11 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11- 函式的副作用:把計算與 I/O 分離

消除你程式碼的臭味 Day 11- 函式的副作用:把計算與 I/O 分離 一個函式應該只做一件事,並且做好它。 如果你的函式既要處理計算,又要跟外部世界(螢幕...

2025-09-13 ‧ 由 Sunny.Cat 分享
DAY 12

Day 12- 拒絕複製貼上:抽出共用邏輯

消除你程式碼的臭味 Day 12- 拒絕複製貼上:抽出共用邏輯 重複不是省事,是技術債。 在第二個地方貼上相似度 90% 以上程式碼時,就創造了一個混亂區。...

2025-09-14 ‧ 由 Sunny.Cat 分享
DAY 13

Day 13- 魔術數字:用具備語義的常數取代

消除你程式碼的臭味 Day 13- 魔術數字:用具備語義的常數取代 數字本身不會說話,名稱會。 在程式碼裡看到一個像 86400 或 0.05 這樣的數字,看...

2025-09-15 ‧ 由 Sunny.Cat 分享
DAY 14

Day 14- 複雜判斷:抽到具名函式裡

消除你程式碼的臭味 Day 14- 複雜判斷:抽到具名函式裡 布林表達式越長,越應該被命名。程式碼是寫給人看的,只是順便能讓電腦執行而已。 當你寫下一長串充滿...

2025-09-16 ‧ 由 Sunny.Cat 分享
DAY 15

Day 15- 組合優於繼承:用小能力組出行為

消除你程式碼的臭味 Day 15- 組合優於繼承:用小能力組出行為 物件導向的繼承理論,源自於生物學家林奈的分類法。界、門、綱、目、科、屬、種。Dog is-...

2025-09-17 ‧ 由 Sunny.Cat 分享
DAY 16

Day 16- 單一職責:找到唯一修改理由,告別脆弱程式碼

消除你程式碼的臭味 Day 16- 單一職責:找到唯一修改理由,告別脆弱程式碼 單一職責原則(Single Responsibility Principle,...

2025-09-18 ‧ 由 Sunny.Cat 分享
DAY 17

Day 17- 分離關注點:設定與主要邏輯分開

消除你程式碼的臭味 Day 17- 分離關注點:設定與主要邏輯分開 把變動頻繁的設定從穩定的主要邏輯裡拿出去。 你的核心商業邏輯,應該像一個在無菌室裡工作的科...

2025-09-19 ‧ 由 Sunny.Cat 分享
DAY 18

Day 18- 狀態管理:用資料定義流程

消除你程式碼的臭味 Day 18- 狀態管理:用資料定義流程 狀態機不該是 if/else 的迷宮,它的本質是一張規則流程表。 把轉移規則寫成表,讀表執行就...

2025-09-20 ‧ 由 Sunny.Cat 分享
DAY 19

Day 19- 參數:少即是多,避免傳布林參數

消除你程式碼的臭味 Day 19- 參數:少即是多,避免傳布林參數 參數越多,理解成本越高。問個簡單的問題:當你看到一行程式碼 createUser('Bob...

2025-09-21 ‧ 由 Sunny.Cat 分享
DAY 20

Day 20- 依賴注入:鬆開那個耦合

消除你程式碼的臭味 Day 20- 依賴注入:鬆開那個耦合 你的類別還在自己 new 東西嗎?當一個類別手動自己建立它所依賴的物件時,它就像一個什麼都要自己來...

2025-09-22 ‧ 由 Sunny.Cat 分享