tddlisted
Install: claude install-skill takayoshitoyoda05/claude-ml-template
# テスト駆動開発(TDD)
1振る舞いずつ、失敗するテストを書いてから実装する。
## 進め方(1振る舞いにつき)
1. **Red**: 実装したい振る舞いに対する、失敗するテストを1つ書く。
まだ実装がないので失敗することを確認する。
2. **Green**: そのテストを通す最小限の実装を書く。他の振る舞いのことは
考えず、今のテストを通すことだけに集中する。
3. **Refactor**: テストが通ったままの状態で、重複や汚いコードを整理する。
このステップでは新しい振る舞いを追加しない。
4. 次の振る舞いに進み、1に戻る。
## 適用範囲の判断
- 新規のユーティリティ関数、データ変換処理、評価指標の計算など、
入出力が明確な処理に向いている。
- 探索的な実験スクリプト(ノートブック的な試行錯誤)には無理に適用しない。
「この関数はTDDで作るべきか」迷ったら、入出力が固定できるかどうかで判断する。
## 注意
- 1テスト1振る舞い。複数の振る舞いをまとめてテストしない。
- Greenの段階で、まだ確認していない振る舞いまで先回りして実装しない
(YAGNI: 必要になってから作る)。
- CONTEXT.md があれば先に読み、テストで使う用語をプロジェクトの言葉に合わせる。