Skip to content

イテレーション 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