iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

AI 時代的 Clean Code:30 天讓 AI 產出的程式碼可讀、可驗證、可維護 系列

本系列從《無瑕的程式碼 第二版》出發,結合 Uncle Bob 的 AI 觀點與我的 AI Coding 經驗,重新思考 Clean Code 在 AI 時代的價值,並延伸出我建立的 CLEAN 五原則:C 掌握真實情境、L 限制變更範圍、E 說清楚意圖與邊界、A 留下可審查實據、N 守住可預期行為。透過真實 API 專案與 Codex 實驗,分享開發者如何駕馭 AI Agent,持續產出可讀、可維護、可驗證的程式碼。

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

Day 11|類別低於 100 行就只有一個責任嗎?用高優先逾期通知比較行數上限與內聚拆分

安安~我是ChiYu~ 昨天我先釐清 WorkItem、DTO 與 EF Entity 各自負責什麼。最後沒有建立第二套 Domain Model,只把指派、完...

2026-09-11 ‧ 由 ChiYu 小艾 分享
DAY 12

Day 12|AI 寫完再測,和先測再改有什麼差別?比較直接完成、TDD 與 TCR

安安~我是ChiYu~ 昨天比較類別拆分時,控制組、行數上限與內聚拆分都能把升級通知做對,也都通過最後的行為驗證。 若只看終點,三種結構都像是成功的候選。可是最...

2026-09-12 ‧ 由 ChiYu 小艾 分享
DAY 13

Day 13|測試全綠,為什麼仍漏掉「剛好 24 小時」?用整潔測試、驗收測試與受控 Mutation 檢查答案

安安~我是ChiYu~ 昨天談測試紀律時,我比較了直接完成、TDD 與 TCR。那些實驗回答的是:測試何時介入,會怎麼改變 Agent 的前進節奏與還原範圍。...

2026-09-13 ‧ 由 ChiYu 小艾 分享
DAY 14

Day 14|測試全綠後,怎麼判斷設計已經足夠簡單?

安安~我是ChiYu~ 前天談測試紀律,昨天接著確認整潔的測試與驗收測試能不能真的守住需求。今天,這個系列正式跨過 Part I〈程式碼〉,進入 Part II...

2026-09-14 ‧ 由 ChiYu 小艾 分享
DAY 15

Day 15|第三條規則由不同負責人維護,SRP/OCP 要求 AI 把責任拆到哪裡?

安安~我是ChiYu~ 昨天只有兩條通知升級規則,而且都由同一位服務等級政策負責人維護。我因此把判斷集中在 RequiresEscalationNotifica...

2026-09-15 ‧ 由 ChiYu 小艾 分享
DAY 16

Day 16|兩個通知 Provider 都能編譯,為什麼還不能證明可以互相替換?

安安~我是ChiYu~ 昨天把服務等級與派工政策分開後,今天我在共同通知介面後方,再放入一個 Queued Provider。Provider 就是負責實際送出...

2026-09-16 ‧ 由 ChiYu 小艾 分享
DAY 17

Day 17|AI 把 API 拆成多個 Project,怎麼判斷哪些元件邊界值得留下?

安安~我是ChiYu~ 昨天整理完通知的行為契約、Consumer 需要的能力與原始碼依賴方向後,系列接續版本仍只有一個 Production Project。...

2026-09-17 ‧ 由 ChiYu 小艾 分享
DAY 18

Day 18|AI 一次完成三項需求,和逐步設計相比,加入背景 Worker 時有什麼差別?

安安~我是ChiYu~ 昨天談完元件原則後,Work Item API 已經形成三個清楚的責任區域:API 處理 HTTP、資料與通知流程,WorkItems....

2026-09-18 ‧ 由 ChiYu 小艾 分享
DAY 18

Day 19|兩個執行流程同時處理同一筆 Work Item,為什麼會重複通知?從競態條件到 Outbox 與冪等設計

安安~我是ChiYu~ 昨天加入背景 Worker 後,逾期流程多了第二個入口:使用者可以透過 HTTP 主動觸發,Worker 也會依排程執行,最後兩邊都呼叫...

2026-09-20 ‧ 由 ChiYu 小艾 分享
DAY 18

Day 20|兩份程式碼都通過測試,加入重試規則後哪一種結構比較容易修改?

安安~我是ChiYu~ 昨天,我們處理了 HTTP 與背景 Worker 同時選中同一筆 Work Item、進而重複送出通知的問題。資料更新、通知傳送、失敗重...

2026-09-20 ‧ 由 ChiYu 小艾 分享