LLM 開發下,TDD 好像開始出現新的問題
·4 分鐘
最近在使用 LLM 做開發時,我開始重新思考一件以前覺得已經很理所當然的事情:TDD 到底應該放在什麼位置?
我原本使用的流程其實滿直覺的。
我們有一份使用者提供的 SRS,先把需求拆成比較細的 Specification,接著使用 TDD 開發:
這個流程在一開始其實非常好用。
尤其現在有 LLM 幫忙寫 Test,TDD 的成本比以前低很多。Specification 拆出來之後,可以很快建立 Test,再讓 Agent 根據 Test 實作。
問題是,最近實際做了一些需求變動比較大的系統後,我開始發現一件奇怪的事情。
每次需求修改之後,Code 好像只會越來越多。
一開始我以為是錯覺。直到回頭翻了幾次 change 的 diff,才發現新增的行數遠多於刪除,而且很多舊邏輯只是被條件包起來,並沒有真的離開系統。
需求其實不是一直增加 #
原本我直覺上會把需求修改理解成:
| |
所以 Code 自然就是: