回顧這一輪 TDD,決定下一步。遵循 Kent Beck 的持續演進理念。
Reviews completed TDD cycle and plans next steps based on Kent Beck's principles.
/plugin marketplace add cashwu/claude-code-tdd-marketplace/plugin install kent-beck-tdd@tdd-methodologies完成一輪 Red-Green-Refactor 後,停下來思考。
【功能名】:{{feature_name}}
"每完成一個測試,都要問自己:我學到了什麼?" "下一個測試不是計劃出來的,而是從經驗中浮現的。"
在 journey.md 中更新:
### 第 N 輪完成 - {日期時間}
#### 💭 回顧與學習
**這一輪做了什麼**
{簡述這輪的測試和實作}
**學到了什麼**
- {發現 1}
- {發現 2}
- {驚喜或意外}
**設計如何演進**
{設計有什麼改變?}
**目前的進度感覺**
{覺得進度如何?順利還是卡住?}
Kent Beck 建議問自己:
Kent Beck:有三個選擇
何時選擇:
下一步:
/kb-red
在 journey.md 記錄:
#### 🎯 下一步計劃
**下一個測試想法**
{為什麼要寫這個測試?}
**預期會發生什麼**
{這個測試會逼出什麼實作?}
執行 /kb-red
何時選擇:
暫停建議:
在 journey.md 記錄:
#### ⏸️ 暫停點
**目前狀態**
{進行到哪裡了}
**下次回來要做什麼**
{下一步的提示}
**卡住的問題**(如果有)
{什麼地方不確定}
何時選擇:
在 journey.md 記錄:
#### 🎉 會話結束
**達成的成果**
{列出完成的功能}
**目前的狀態**
- 測試數量:{數量}
- 測試通過率:100%
- 程式碼品質:{評估}
**未來可能的方向**
- {可能的擴展 1}
- {可能的擴展 2}
Kent Beck 建議維護一個簡單的 To-Do List:
## 心理 To-Do List
### 已完成
- [x] 基本乘法運算
- [x] 處理負數
### 下一步可能的測試
- [ ] 加法運算
- [ ] 相等性比較
- [ ] 不同幣別
### 設計想法
- [ ] 考慮提取 Money 父類別
- [ ] 可能需要 Currency 概念
特點:
Kent Beck:加大步伐
Kent Beck:縮小步伐
### 第 3 輪完成 - 2025-10-15 22:00
#### 💭 回顧與學習
**這一輪做了什麼**
測試了負數乘法,確認 Dollar(-5).times(2) 得到 -10。
**學到了什麼**
- 現有實作自動支援負數
- 不需要特殊處理
- 乘法的數學性質自然延伸
**設計如何演進**
沒有改變,驗證了設計的穩健性。
**目前的進度感覺**
很順利!基本的乘法功能已經穩定。
#### 🎯 下一步計劃
**下一個測試想法**
測試加法:Dollar(5).plus(Dollar(3)) 應該等於 Dollar(8)
**預期會發生什麼**
需要新增 plus 方法,可能會很直接。
執行 /kb-red
### 第 5 輪完成 - 2025-10-15 22:30
#### 💭 回顧與學習
**這一輪做了什麼**
嘗試實作不同幣別的比較。
**學到了什麼**
- 設計變複雜了
- 不確定該怎麼處理幣別
- 可能需要重新思考
**設計如何演進**
引入了 Currency 概念,但感覺有點勉強。
**目前的進度感覺**
有點卡住。可能步伐太大了。
#### ⏸️ 暫停點
**目前狀態**
Dollar 和 Franc 可以獨立運作,但比較功能還不清楚。
**下次回來要做什麼**
考慮回退到更簡單的設計,或者寫更小的測試。
**卡住的問題**
- 幣別應該是字串還是物件?
- 需要匯率轉換嗎?
- 設計是否過度複雜?
可能需要回到更小的步伐,寫一個更簡單的測試。
TDD 沒有真正的完成:
可以暫時停止的信號:
不是因為:
Kent Beck 強調 TDD 的節奏:
🔴 Red → 緊張(寫測試)
🟢 Green → 放鬆(通過了!)
🔵 Refactor → 改善(重構)
💭 Review → 回顧(現在)
好的節奏:
不好的節奏:
/kb-red
cat docs/tdd/{feature_name}/journey.md
npm test
"TDD 不是一個目的地,而是一個旅程。" "每個測試都教會你一些東西。" "下一步不是計劃出來的,而是從經驗中浮現的。" "當你不知道下一步時,寫一個你知道答案的測試。" "信任這個過程,設計會自然演進。"
你已經完成一輪完整的 TDD 循環!
/kb-start ← 從這裡開始
↓
/kb-red ← 寫測試 (Red)
↓
/kb-green ← 實作 (Green)
↓
/kb-refactor ← 重構 (Refactor)
↓
/kb-review ← 回顧(你在這裡)
↓
循環回 /kb-red 或結束
準備好下一輪了嗎? 🚀