還記得我們在 Day 5 提到的 AI-DLC 嗎?這個概念的核心就是「循環」與「適應」。不同的專案需求、團隊狀態、時程壓力,都需要不同的開發模式。就像打遊戲選角色一樣,沒有最強的角色,只有最適合的選擇。
筆者在實際專案中發現,硬套某個開發模式往往會遇到阻力。比如說,對一個簡單的 CRUD API 硬要套用完整的 DDD,反而會讓開發變得笨重;但如果是複雜的金融交易系統,沒有 DDD 的領域建模,後期維護會是場災難。
TDD 的核心是那個經典的「紅綠重構」循環。很多人以為 TDD 就是先寫測試,其實重點在於它的節奏感:
Red → Green → Refactor → Repeat
這個循環在 AI-DLC 中特別有效,因為 AI 可以:
實際的環節順序是:
BDD 其實是 TDD 的延伸,但它把焦點從「測試」轉向「行為」。我特別喜歡用 BDD 來處理跨團隊協作的專案,因為 Gherkin 語法讓非技術人員也能參與:
Scenario → Step Definitions → Implementation → Validation
在 AI-DLC 循環中,BDD 的優勢是:
環節編排重點:
DDD 是我認為最適合複雜業務邏輯的方法。它不只是個開發模式,更是一種思維方式:
Domain Modeling → Bounded Context → Aggregates → Implementation
在 AI-DLC 中,DDD 的價值在於:
關鍵環節順序:
SDD 適合規格已經很明確的專案:
Specification → Pan(Story+Acceptance Criteria) → Tasks(Implementation)
AI-DLC 在 SDD 中的角色:
除了我們自行判斷也可以利用AI,AI 不只是工具,它可以根據專案特徵,推薦最適合的開發模式組合。
當你啟動一個新 Sprint,可以讓 AI 分析:
實務上,純粹使用單一模式是很少見的。AI-DLC 的強大之處在於它能夠混搭不同模式:
案例一:電商結帳系統
DDD(領域建模) → BDD(使用者流程) → TDD(核心邏輯) → SDD(支付規格)
AI 會建議:
案例二:內部管理後台
BDD(功能需求) → TDD(實作) → 快速迭代
因為是內部系統,不需要複雜的領域建模,直接從使用者需求出發,快速迭代。
不同模式的環節如何無縫銜接?這是 AI-DLC 要解決的關鍵問題。
AI-DLC 不是單向的,它強調反饋與學習:
把 AI 想像成一個經驗豐富的開發教練,它不會強迫你用某種方式,而是根據當下情況給出最適合的建議。
最近筆者在一個專案中,原本打算用純 TDD 開發,但 AI 分析需求後建議:「這個專案有複雜的會員等級計算,建議先用 DDD 建立領域模型。」後來就嘗試先釐清領域概念後,後續的 TDD 實作順暢很多。
另一個案例是快速原型開發,AI 建議:「時程只有兩週,建議 BDD 定義核心流程,配合最小 TDD 確保關鍵功能正確。」這個建議幫我們在時限內交付了可用的 MVP。