CTS-KB
開発手法

開発手法ガイド:概要

#DDD #TDD #SOLID #オブジェクト指向

🎯 AI 駆動開発の前に知っておくべきこと

AI コーディングツール(Claude Code 等)は強力ですが、 開発の基礎が曖昧なまま使うと、品質の低いコードを高速に量産するだけ になります。

AI に的確な指示を出し、生成されたコードの良し悪しを判断するには、開発者自身がソフトウェア設計の原則を理解している必要があります。

本シリーズは、AI 駆動開発の精度を高めるための 予備知識 として、以下のテーマを体系的に解説します。

🧱 各テーマの位置づけ

オブジェクト指向
  └→ なぜ階層(プロジェクト)を分けるのか
     ドメイン層 / アプリケーション層 / インフラストラクチャ層 / インターフェース層

DDD(ドメイン駆動設計)
  └→ ビジネスの言葉でコードを書く設計手法
     SOLID 原則 / Bounded Context / ユビキタス言語

TDD(テスト駆動開発)
  └→ テストを先に書くことで設計を磨く

アトミックデザイン
  └→ UI コンポーネントの分類・再利用戦略

モノレポ
  └→ 複数サービスを 1 リポジトリで管理する運用戦略

📐 なぜこの順番なのか

順番テーマ理由
1オブジェクト指向すべての設計原則の土台。階層分離の考え方がないと DDD も TDD も理解できない
2DDDビジネスロジックの設計手法。AI に「何を作るか」を正確に伝える力
3TDD設計の品質を検証する手法。AI が生成したコードを信頼できるかの判断基準
4アトミックデザインUI の設計原則。フロントエンド開発で AI との協働を効率化する
5モノレポ複数サービスを扱う運用戦略。AI が参照するコンテキストの管理に直結する

下から始めると、なぜそうするのかが分からないまま手法だけを覚えることになります。 上から順に積み上げる ことで、各手法の必然性が理解できます。

🤖 AI 駆動開発との関係

これらの知識があると、AI との協働で以下が変わります。

知識AI への指示結果
オブジェクト指向がわかる「ドメイン層とインフラ層を分離して」と指示できる保守しやすいコード
DDD がわかる「ユビキタス言語に合わせて」と指示できるビジネスと一致したコード
TDD がわかる「テストを先に書いて」と指示できる仕様通りのコード
アトミックデザインがわかる「Atom / Molecule で分けて」と指示できる再利用可能な UI
モノレポがわかる共有ライブラリの変更影響を把握できる安全なリファクタリング

AI は道具であり、使い手の設計力がそのまま成果物の品質に反映されます。

📚 シリーズ記事

#タイトル内容
1概要 (本記事)シリーズの全体像と各テーマの位置づけ
2オブジェクト指向編(公開予定)階層分離(ドメイン / アプリケーション / インフラ / インターフェース)
3DDD 編(公開予定)SOLID 原則・Bounded Context・ユビキタス言語
4TDD 編(公開予定)テスト駆動開発の実践・テスト網羅性
5アトミックデザイン編(公開予定)UI コンポーネントの分類と設計
6モノレポ編(公開予定)単一リポジトリでの複数サービス管理