イテレーション 3 ふりかえり¶
概要¶
| 項目 | 内容 |
|---|---|
| イテレーション | 3 |
| 期間 | Week 5-6(2 週間) |
| ゴール | Java 版を Python 版から展開し、TDD で実装する |
| 実績 SP | 3 / 3 SP(達成率 100%) |
KPT¶
Keep(良かったこと・続けること)¶
- TDD サイクルの徹底: Red → Green → Refactor を 1 章ずつ実施し、229 テストが全パスした
- Python 版との比較表: 各記事に Python との差分(スワップ、ジェネリクス、例外)を明記できた
- Java ジェネリクスの活用:
FixedStack<T>,FixedQueue<T>,BinarySearchTree<T>をジェネリクスで実装し、型安全性を確保した - 章ごとのコミット: 実装と記事を同一コミットで完結する規律を維持できた
Problem(課題・改善すべきこと)¶
- Java のスワップ:
int tmpを使う書き方が Python より冗長。将来的に Collections.swap の活用も検討 - テスト件数の把握: Gradle のログから件数を確認するのが手間だった(HTML レポートへのアクセスが必要)
- ハッシュ法: Java の
HashMapを使えばシンプルだが、学習目的で手動実装したため複雑になった
Try(次回試すこと)¶
- Gradle HTML レポート確認:
build/reports/tests/test/index.htmlで視覚的にテスト結果を確認する - Stream API の活用: 第 2 章のソートやフィルタに Java Stream を活用して Python のリスト内包に近い表現を試す
- CI ワークフロー追加: TypeScript 版同様に
ci-java.ymlを追加して自動テストを構築する
ベロシティ実績¶
| イテレーション | 言語 | 計画 SP | 実績 SP | 達成率 |
|---|---|---|---|---|
| IT1 | Python(原本) | 5 | 5 | 100% |
| IT2 | TypeScript | 3 | 3 | 100% |
| IT3 | Java | 3 | 3 | 100% |
| 累計 | 11 | 11 | 100% |
次のイテレーション(IT-4: C# 版)¶
- US-004: C# 版を Python 版から展開する(3 SP)
- C# の特徴: LINQ、パターンマッチング、ジェネリクス
- 環境: .NET SDK、xUnit