Skip to content

テスト駆動開発から始める Java 入門

概要

FizzBuzz 問題を題材に、テスト駆動開発(TDD)の基本サイクルから、開発環境の整備、オブジェクト指向設計、関数型プログラミングの活用まで、Java の特徴を活かしながら段階的に学びます。

対象読者

  • Java の基本文法を理解しているプログラミング学習者
  • TDD を体験してみたい開発者
  • オブジェクト指向設計や関数型プログラミングに興味がある方

前提条件

  • JDK 11 以降がインストールされていること
  • Gradle が利用可能であること(Nix 環境推奨: nix develop .#java

目次

第 1 部: TDD の基本サイクル

  1. 第 1 章: TODO リストと最初のテスト
  2. 第 2 章: 仮実装と三角測量
  3. 第 3 章: 明白な実装とリファクタリング

第 2 部: 開発環境と自動化

  1. 第 4 章: バージョン管理と Conventional Commits
  2. 第 5 章: パッケージ管理と静的解析
  3. 第 6 章: タスクランナーと CI/CD

第 3 部: オブジェクト指向設計

  1. 第 7 章: カプセル化とポリモーフィズム
  2. 第 8 章: デザインパターンの適用
  3. 第 9 章: SOLID 原則とモジュール設計

第 4 部: 関数型プログラミングへの展開

  1. 第 10 章: 高階関数と関数合成
  2. 第 11 章: 不変データとパイプライン処理
  3. 第 12 章: エラーハンドリングと型安全性

実装コード

本記事のすべてのコード例は apps/java/ に実装されています。

# 開発環境に入る
nix develop .#java

# テスト実行
cd apps/java
./gradlew test

参考文献

  • Kent Beck 著『テスト駆動開発』
  • Martin Fowler 著『リファクタリング: 既存のコードを安全に改善する』
  • Robert C. Martin 著『Clean Code: アジャイルソフトウェア達人の技』