2.4 KiB
2.4 KiB
description
| description |
|---|
| 啟動新的 TDD 會話。遵循 Kent Beck 的純粹 TDD 理念,從第一個測試開始。 |
TDD Start - 啟動 TDD 會話
開始一個新的 TDD 開發會話。遵循 Kent Beck 的理念:從測試開始,讓設計演進。
【功能想法】:{{brief_idea}}
Kent Beck 的起點
"開始時不要想太多,從最簡單的測試開始。"
不要做:
- ❌ 寫完整的需求文件
- ❌ 規劃所有測試案例
- ❌ 事先設計類別結構
- ❌ 想太多細節
要做:
- ✅ 想一個最簡單的情境
- ✅ 寫出第一個測試
- ✅ 讓測試驅動設計
開始步驟
1. 建立開發記錄
在 docs/tdd/{feature_name}/ 建立:
journey.md - TDD 開發旅程記錄(不是計劃)
2. 想第一個測試
問自己:
- 什麼是最簡單的使用情境?
- 什麼是最明顯的行為?
- 從哪裡開始最容易?
範例思考過程:
功能想法:「計算購物車總價」
❌ 不要想:
- 需要支援優惠券
- 需要處理多幣別
- 需要計算稅金
- ...
✅ 只想:
「一個商品的購物車,總價應該等於商品價格」
這就是第一個測試!
3. journey.md 初始格式
# {feature_name} TDD Journey
## 開始想法
{簡單描述要做什麼,1-2 句話}
## TDD 循環記錄
### 第 1 輪 - {日期時間}
#### 🤔 想法
{為什麼要寫這個測試?}
#### 📝 下一步
執行 /kb-red 寫第一個測試
心態準備
Kent Beck 強調的 TDD 心態:
好奇心
- "如果我這樣寫測試會怎樣?"
- 用測試來探索問題
勇氣
- 敢於寫會失敗的測試
- 敢於用最簡單的方式實作
簡單
- 從最簡單的開始
- 不要過度設計
反饋
- 頻繁執行測試
- 快速得到反饋
範例:開始一個 Money 類別
# Money TDD Journey
## 開始想法
建立一個 Money 類別,可以處理金錢運算。
## TDD 循環記錄
### 第 1 輪 - 2025-10-15 21:30
#### 🤔 想法
最簡單的情境:5 元乘以 2 應該等於 10 元。
#### 📝 下一步
執行 /kb-red 寫第一個測試
下一步
準備好了嗎?執行:
/kb-red
開始寫你的第一個測試!
記住 Kent Beck 的話
"TDD 的目的不是測試,而是思考。" "從最簡單的測試開始,讓複雜度自然演進。" "如果不知道該寫什麼測試,那就寫一個你知道答案的測試。"