category

架構設計

這裡整理與「架構設計」相關的已發布文章,依最新更新排序。

62 篇文章

Latest first

文章列表

一般更新 AI 協作 2026-10-03 13 分鐘閱讀 點閱 1

Day 33|三十三天後,我從 Clean Code 與 CLEAN 得到的五個 AI Coding 結論

2026 iThome 鐵人賽 AI CleanCode Day 33:安安~我是ChiYu~ 三十三天前,我手上其實只有三份材料:一本 753 頁、厚度大約五、六公分的《無瑕的程式碼 第二版》,兩則 Uncle Bob 談 Coding Agent 的 X 貼文,以及這段時間大量使用 AI Coding …

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-10-02 15 分鐘閱讀 點閱 0

Day 32|我把 Clean Code 做成可下載的 AI Coding Skill:保留、捨棄與重新設計了什麼?

2026 iThome 鐵人賽 AI CleanCode Day 32:安安~我是ChiYu~ 昨天,我把前面累積的 24 份 Policy 分別放回適合的位置:跨 Repository 可重用的判斷進入 Skill,專案自己的領域語言、架構與測試規則留在 Repository,風險接受與最後決策仍由工程師…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-10-01 8 分鐘閱讀 點閱 0

Day 31|什麼是 AI Agent Skill?我如何把 24 份 Clean Code Policy 整理成可重用工具

2026 iThome 鐵人賽 AI CleanCode Day 31:安安~我是ChiYu~ 昨天,我重新走了一遍這三十天從 Clean Code 延伸到 CLEAN 五原則的過程,才發現前面的文章已經累積了 24 份 Policy。 單篇看都不長,全部塞進 AGENTS.md 卻會產生新的問題:Agen…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-30 13 分鐘閱讀 點閱 0

Day 30|Clean Code 如何經過 AI Coding 實作,推導出 CLEAN 五原則?

2026 iThome 鐵人賽 AI CleanCode Day 30:安安~我是ChiYu~ 昨天,我拒絕把 AI 給出的 48、84、156 小時直接當成承諾,因為那些數字缺少足以支撐它們的來源、假設與失效條件。 寫到 Day 30,我想先把這個系列最核心的問題正式回答一次:CLEAN 五原則,到底是怎…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-29 18 分鐘閱讀 點閱 0

Day 29|AI 給出 48、84、156 小時:工程師如何把單點工期改成誠實估算?

2026 iThome 鐵人賽 AI CleanCode Day 29:安安~我是ChiYu~ 昨天,我比較了多個 Agent 平行開發時的實作、整合、Review 與接手成本。兩條開發線都能完成任務,但整個團隊有沒有變快,還得把後面的整合與接手算進去。 只要有人問:「這個需求多久可以完成?」我們卻很容易再…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-28 20 分鐘閱讀 點閱 0

Day 28|AI 提高產碼速度後,團隊生產力真的提高了嗎?

2026 iThome 鐵人賽 AI CleanCode Day 28:安安~我是ChiYu~ 昨天,我把一項通知重試需求拆成三個小週期,讓 Agent 每完成一段就取得測試回饋與回退座標,避免單一開發流程一次累積太多風險。 今天,我把開發線從一條增加到兩條:兩位 Agent 從相同 Commit 同時開工…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-27 17 分鐘閱讀 點閱 0

Day 27|AI 一次改完再驗證,還是拆成三個小週期?比較紅燈時機、回退範圍與測試品質

2026 iThome 鐵人賽 AI CleanCode Day 27:安安~我是ChiYu~ 昨天,我把 AI Agent 的完成宣告整理成可重跑的 Evidence Packet:固定產品版本後,連同 Prompt、Diff、Build、Tests、Smoke、限制與失敗紀錄一起保存。下一位工程師因此能…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-26 16 分鐘閱讀 點閱 0

Day 26|AI 說測試全綠還不夠:如何固定版本、重跑驗證,留下可查的完成證據?

2026 iThome 鐵人賽 AI CleanCode Day 26:安安~我是ChiYu~ 「Build 成功、測試全綠、需求完成。」 這三句,我在 AI Agent 的完成回報裡看過很多次。看起來很完整,卻沒有交代驗證的是哪一份 Code、實際跑了哪些檢查,也沒有說綠燈在哪裡停止。 昨天修正人工重送功…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-23 22 分鐘閱讀 點閱 0

Day 23|Controller、EF Core 與第三方 SDK 為什麼不該決定 Use Case?用六角形架構隔離外部細節

2026 iThome 鐵人賽 AI CleanCode Day 23:安安~我是ChiYu~ 昨天整理元件邊界時,我保留了既有通知 Port,卻也發現一個不能忽略的問題:它接收的參數仍是 EF Core 使用的 WorkItem Entity。表面上隔離了通知 Provider,核心實際上還在說 Pers…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-21 17 分鐘閱讀 點閱 0

Day 21|拆成多個 Project,業務流程、執行方式、團隊與部署就真的獨立了嗎?

2026 iThome 鐵人賽 AI CleanCode Day 21:安安~我是ChiYu~ 昨天,我把會獨立改變的重試規則從 Dispatcher 分離出來。但打開目前的 Solution,裡面早已有三個正式 Project,Build 後也會產生多個 DLL。這是不是代表架構早就取得獨立性了? 還不一…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-20 17 分鐘閱讀 點閱 0

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

2026 iThome 鐵人賽 AI CleanCode Day 20:安安~我是ChiYu~ 昨天,我們處理了 HTTP 與背景 Worker 同時選中同一筆 Work Item、進而重複送出通知的問題。資料更新、通知傳送、失敗重試與取消路徑,也都有對應測試。 從行為價值來看,昨天的需求已經完成。不過,測…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-19 20 分鐘閱讀 點閱 0

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

2026 iThome 鐵人賽 AI CleanCode Day 19:安安~我是ChiYu~ 昨天加入背景 Worker 後,逾期流程多了第二個入口:使用者可以透過 HTTP 主動觸發,Worker 也會依排程執行,最後兩邊都呼叫同一個 IOverdueWorkItemProcessor.ProcessA…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-16 17 分鐘閱讀 點閱 0

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

2026 iThome 鐵人賽 AI CleanCode Day 16:安安~我是ChiYu~ 昨天把服務等級與派工政策分開後,今天我在共同通知介面後方,再放入一個 Queued Provider。Provider 就是負責實際送出通知的替代實作。 Demo 與 Queued 都能實作同一個 Interfa…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-15 19 分鐘閱讀 點閱 0

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

2026 iThome 鐵人賽 AI CleanCode Day 15:安安~我是ChiYu~ 昨天只有兩條通知升級規則,而且都由同一位服務等級政策負責人維護。我因此把判斷集中在 RequiresEscalationNotification,沒有再建立 Interface 或規則集合。對當時的需求來說,一個…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-14 20 分鐘閱讀 點閱 0

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

2026 iThome 鐵人賽 AI CleanCode Day 14:安安~我是ChiYu~ 前天談測試紀律,昨天接著確認整潔的測試與驗收測試能不能真的守住需求。今天,這個系列正式跨過 Part I〈程式碼〉,進入 Part II〈設計〉。 一進入設計,測試全綠就不再是最後答案。 同一個 Agent 交出…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-13 24 分鐘閱讀 點閱 0

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

2026 iThome 鐵人賽 AI CleanCode Day 13:安安~我是ChiYu~ 昨天談測試紀律時,我比較了直接完成、TDD 與 TCR。那些實驗回答的是:測試何時介入,會怎麼改變 Agent 的前進節奏與還原範圍。 今天遇到的問題更麻煩:測試介入得很早,不代表測試問對了問題。 在產品範例驅動…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-12 23 分鐘閱讀 點閱 0

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

2026 iThome 鐵人賽 AI CleanCode Day 12:安安~我是ChiYu~ 昨天比較類別拆分時,控制組、行數上限與內聚拆分都能把升級通知做對,也都通過最後的行為驗證。 若只看終點,三種結構都像是成功的候選。可是最後一片綠燈,只能證明它們抵達了終點,沒有說明途中累積了多少尚未驗證的修改,也…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-11 21 分鐘閱讀 點閱 0

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

2026 iThome 鐵人賽 AI CleanCode Day 11:安安~我是ChiYu~ 昨天我先釐清 WorkItem、DTO 與 EF Entity 各自負責什麼。最後沒有建立第二套 Domain Model,只把指派、完成與逾期狀態轉換收回 WorkItem。 物件角色清楚之後,新的問題也浮了出…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-10 20 分鐘閱讀 點閱 0

Day 10|WorkItem 要公開資料還是封裝行為?用新增業務種類與新增操作比較三種模型

2026 iThome 鐵人賽 AI CleanCode Day 10:安安~我是ChiYu~ 昨天我比較了一次重寫與分段 Commit,最後保留可以逐步驗證、失敗時局部還原的清理節奏。函式內部整理完後,我接著往物件邊界看,WorkItemsController 裡還留著幾行很直接的 Code: 這些 Se…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-09 13 分鐘閱讀 點閱 0

Day 9|AI Agent 一次重寫或分段 Commit:哪個容易還原,哪個完成後更好讀?

2026 iThome 鐵人賽 AI CleanCode Day 9:安安~我是ChiYu~ 昨天,我把同一項需求交給三種函式結構,觀察全新 Agent 會如何理解資料、又會把修改放在哪裡。我最後採用 CQS,但那只回答了資料目前該放哪裡,還沒回答修改走偏時要怎麼退回。 今天接著比較同一段清理工作:讓 Ag…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-08 17 分鐘閱讀 點閱 0

Day 8|同一項需求交給下一個 AI Agent,三種函式結構會走出哪條修改路徑?

2026 iThome 鐵人賽 AI CleanCode Day 8:安安~我是ChiYu~ 昨天,我從三份函式拆分結果中選了 Stepdown 版本。 ProcessOverdue 現在可以由上而下讀成四個步驟:找出逾期候選、逐筆處理、儲存狀態、回傳結果。入口變清楚了,但一份結構是否真的好用,不能只看今天…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-07 21 分鐘閱讀 點閱 0

Day 7|AI 把函式拆得越小,就越符合 Clean Code 嗎?三種拆分方式實測

2026 iThome 鐵人賽 AI CleanCode Day 7:安安~我是ChiYu~ 昨天,我們替 Work Item 逾期流程保留兩則有測試依據的警告註解,也確認 Formatter 只能整理已設定的格式規則。 註解沒有逐行翻譯 Code,排版也整理好了。可是打開 ProcessOverdue,查…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-06 21 分鐘閱讀 點閱 0

Day 6|註解與格式都漂亮,程式碼為什麼還是難讀?

2026 iThome 鐵人賽 AI CleanCode Day 6:安安~我是ChiYu~ 昨天,我們把 Work Item 逾期流程的命名規則寫進 Repository,讓 Agent 可以在安全範圍內自主命名。 名稱說清楚之後,我接著測另一個很常見的要求:補註解、整理格式,真的會讓程式碼更好讀嗎? 這…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-05 22 分鐘閱讀 點閱 0

Day 5|AI 取的名稱格式正確,為什麼還是可能誤解程式意圖?

2026 iThome 鐵人賽 AI CleanCode Day 5:安安~我是ChiYu~ 昨天,我把逾期處理中的單筆流程抽成一個私有方法: ProcessOverdueItemAsync 看起來很像一個好名稱:有動詞、有處理對象,也保留非同步方法常見的 Async 結尾。 但只看呼叫端,我仍然得猜:它只…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-04 13 分鐘閱讀 點閱 0

Day 4|AI 把函式拆小就算 Clean Code 嗎?從小、命名、組織與順序檢查重構結果

2026 iThome 鐵人賽 AI CleanCode Day 4:安安~我是ChiYu~ 同一段四十多行的 Controller Action,我交給同一個 AI Agent,用兩種整理範圍各跑一次。 兩份結果都通過測試:一份把 Action 壓到十七行,另一份保留三十八行,只抽出單筆逾期處理。若只看行…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-03 11 分鐘閱讀 點閱 0

Day 3|CLEAN 五原則:如何掌握 AI Coding 的情境、範圍、意圖、證據與行為?

2026 iThome 鐵人賽 AI CleanCode Day 3:安安~我是ChiYu~ 昨天的 Agent 很有把握地寫下: 已完成逾期處理的 Clean Code 重構。 它確實改善了命名與閱讀順序,既有行為驗證也沒有發現漂移。可是看完這份完成報告,我沒有先問 Code 還能不能更漂亮,而是卡在一個…

AI Agent Software Engineering Software Architecture Testing
一般更新 AI 協作 2026-09-01 11 分鐘閱讀 點閱 0

Day 1|第三個參賽系列:我為什麼還想寫 AI 時代的 Clean Code?

2026 iThome 鐵人賽 AI CleanCode Day 1:安安~我是ChiYu~ 前兩個 iThome 鐵人賽系列,我從七月就開始準備;進入九月前,稿件也都如期完成。 照理說,這時候應該可以先喘口氣。可是在整理那兩個系列的過程中,我一直惦記著另一個題目,甚至覺得它可能會比原本的規劃更有意思。 但…

AI Agent Software Engineering Software Architecture Testing