Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:03:45 +08:00
commit d62dfe79d1
9 changed files with 1140 additions and 0 deletions

187
commands/tf-green.md Normal file
View File

@@ -0,0 +1,187 @@
---
description: 執行TDD的Green階段。實作功能讓失敗的測試通過。
---
# TDD Green階段實作功能
執行TDD的Green階段實作最小功能讓測試通過。
**【功能名】**{{feature_name}}
## 事前準備
請確認:
- Red 階段的測試已建立
- 測試執行後會失敗
- memo.md 已記錄 Red 階段進度
## Green 階段目標
**實作最小功能讓測試通過。**
**重要原則:**
- 只要能讓測試通過就好
- 程式碼簡潔優先,不用考慮完美
- 複雜的最佳化留到 Refactor 階段
- 先求能動,再求完美
## 實作原則
### 1. 最小實作優先
```javascript
// ❌ 不要一開始就寫複雜的實作
function calculate(a, b) {
// 複雜的驗證和錯誤處理
// 效能最佳化
// 各種邊界條件處理
...
}
// ✅ 先寫最簡單能通過測試的程式碼
function calculate(a, b) {
return a + b;
}
```
### 2. 階段性實作
- 先讓一個測試通過
- 再讓下一個測試通過
- 逐步增加功能
### 3. 容許暫時的解決方案
- 可以使用硬編碼
- 可以先忽略邊界條件
- 重構階段再改善
## 實作程式碼註解要求
### 函式層級註解
```javascript
/**
* 【功能說明】:此函式的功能
* 【實作方針】:為什麼這樣實作
* 【對應測試】:為了通過哪個測試
*
* @param {type} paramName - 參數說明
* @returns {type} - 回傳值說明
*/
function functionName(paramName) {
// 實作內容
}
```
### 處理區塊註解
```javascript
function processData(input) {
// 【輸入驗證】:檢查輸入是否有效
if (!input) {
throw new Error('輸入不可為空');
}
// 【主要處理】:核心功能實作
const result = doSomething(input);
// 【回傳結果】:回傳處理結果
return result;
}
```
### 變數註解
```javascript
// 【初始化】:設定初始值
const initialValue = 0;
// 【計數器】:追蹤處理數量
let count = 0;
```
## 實作步驟
1. **執行測試確認失敗**
```bash
npm test
```
2. **實作最小功能**
- 只實作讓測試通過所需的程式碼
- 加入繁體中文註解
- 保持程式碼簡單
3. **再次執行測試**
- 確認測試通過
- 如果失敗,修正後重試
4. **更新 memo.md**
- 記錄實作內容
- 標註下一步改善項目
## memo.md 更新格式
在 memo.md 中加入 Green 階段記錄:
```markdown
## Green 階段(實作功能)
### 日期
{當前日期時間}
### 實作內容
{簡述實作了什麼功能}
### 實作檔案位置
{實作檔案路徑}
### 測試結果
- ✅ 測試 1通過
- ✅ 測試 2通過
...
### 待改善項目
{列出應該在 Refactor 階段改善的地方}
### 下一步
進入 Refactor 階段,改善程式碼品質。
```
## 常見的最小實作策略
### 策略 1硬編碼
```javascript
// 先用固定值通過測試
function getGreeting() {
return "Hello, World!";
}
```
### 策略 2假實作
```javascript
// 先回傳符合格式的假資料
function fetchData() {
return { status: 'success', data: [] };
}
```
### 策略 3簡單邏輯
```javascript
// 用最簡單的邏輯實作
function isEven(num) {
return num % 2 === 0;
}
```
## 品質檢查
完成後請確認:
- ✅ 所有測試都通過
- ✅ 實作程式碼有繁體中文註解
- ✅ 程式碼簡單易懂
- ✅ 已記錄到 memo.md
- ✅ 已標註待改善項目
## 下一步
Green 階段完成後,執行:
```
/tf-refactor
```
開始改善程式碼品質Refactor 階段)。