快轉到主要內容
  1. Tags/

TDD

2026


LLM 開發下,TDD 好像開始出現新的問題

·4 分鐘

最近在使用 LLM 做開發時,我開始重新思考一件以前覺得已經很理所當然的事情:TDD 到底應該放在什麼位置?

我原本使用的流程其實滿直覺的。

我們有一份使用者提供的 SRS,先把需求拆成比較細的 Specification,接著使用 TDD 開發:

原本的開發流程:SRS → Spec → TDD → Coding → Verify

這個流程在一開始其實非常好用。

尤其現在有 LLM 幫忙寫 Test,TDD 的成本比以前低很多。Specification 拆出來之後,可以很快建立 Test,再讓 Agent 根據 Test 實作。

問題是,最近實際做了一些需求變動比較大的系統後,我開始發現一件奇怪的事情。

每次需求修改之後,Code 好像只會越來越多。

一開始我以為是錯覺。直到回頭翻了幾次 change 的 diff,才發現新增的行數遠多於刪除,而且很多舊邏輯只是被條件包起來,並沒有真的離開系統。


需求其實不是一直增加 #

原本我直覺上會把需求修改理解成:

1
Spec v1 + New Requirement = Spec v2

所以 Code 自然就是: