YAGNI(将来のために作り込まない)教育コンテンツ:TypeScript版・全8章アウトライン 🧠✨
(前提:TypeScript 初級〜中級/設計は超入門/Windows/VS Code/Copilot or CodexなどAI導入済み🤖💡)
第1章:YAGNIってなに?「作らない勇気」の入門 🌱🙂
ねらい🎯:YAGNIを“誤解なく”説明できるようになる
-
YAGNIの一言:**「今必要なものだけ作る」**🧩
-
よくある誤解を先に解消🧯
- ✖ 手抜き、✖ 設計放棄、✖ 何も考えない
- ◯ “未来予想の作り込み”をしない
-
KISS / DRY との関係(ふんわり)🧁
-
TypeScript開発でYAGNIが効く場面(個人開発あるある)📦
- API設計、型設計、共通化、フォルダ構成
-
ミニ演習📝:
- 「いつか作りたい機能」を10個→“今必要”を2個に絞る✂️
-
AI活用🤖:
- 「この要件で“今作る範囲”を箇条書きにして」
-
成果物📦:自分用YAGNIルール1文
第2章:作り込みすぎのサインを見抜く 👀🚨
ねらい🎯:「それ今いる?」を見抜けるようになる
-
TypeScriptで起きがちな“未来用の罠”🌀
- 早すぎる抽象化(utils地獄、謎の汎用関数)😵💫
- 先に型を盛りすぎる(Union爆発、Generics芸)🧨
- “いつか差し替え”のためにinterface乱立🪓
- APIクライアントを完璧に作ってからUIに行けない😇
-
“今必要”の判断基準🧭
- 受け入れ条件にある?✅
- 実際に変更要求が来てる?📩
-
ミニ演習📝:
- サンプル要件から「今やらない」ものを3つ選ぶ(理由付き)✍️
-
AI活用🤖:
- 「この設計、過剰なところある?赤信号ポイントを5つ」
-
成果物📦:作り込みサインのチェックリスト
第3章:「今必要」を決める技術(MVPとスコープの切り方)✂️🗺️
ねらい🎯:小さく完成させる判断ができるようになる
-
MVP(最小で価値が出る形)を決める🍰
-
例題(TypeScript向け題材)📚✨
- 「推し活メモWebアプリ」:推しのライブ/配信/グッズをメモる📝🎀
-
ユースケース単位で切る🏃♀️
- 追加する/一覧を見る/削除する(まずこれだけ)✅
-
未来の機能は「TODOとして見える場所」に置く🧊
- “未実装の境界”をちゃんと決める
-
ミニ演習📝:
- 推し活メモを「3画面以内 or 1画面で完結」に削る📱
-
AI活用🤖:
- 「受け入れ条件を5個書いて」
-
成果物📦:MVP仕様+受け入れ条件
第4章:YAGNIを支える実装スタイル(小さく作って育てる)🧱🌿
ねらい🎯:「作らない」と「後で詰む」を分ける土台を作る
-
“後で足せる最小設計”ってどう作る?🧰
- まず動く → 名前整える → 小さく分ける🔧
-
TypeScriptらしい最小構成(VS Code前提)💻
- 小さめのReactでも、素のTSでもOK(教材ではシンプル優先)🙂
-
ほんの少しテストで守る🧪
- 「ロジックだけ」をテスト(I/OやUIは薄く)
-
ミニ演習📝:
- 推し活メモで「追加→一覧」をまず完成させる✅
-
AI活用🤖:
- Copilotに「最小の実装で、読みやすさ優先で」と指示する
-
成果物📦:最小アプリ(機能2〜3個)+簡単テスト
第5章:TypeScriptでやりがちな“未来用設計”を安全に先送りする 🧯🧠
ねらい🎯:型・共通化・レイヤーの作り込みを回避できるようになる
-
型を盛りすぎ問題(最初は“素直な型”でOK)🧩
- 「まず型は浅く、必要になったら強く」💪
-
Genericsは“痛みが出てから”🧬
-
utils / helpers の作りすぎを止める🚫
- 共通化は“重複が増えてから”で十分
-
フォルダ構成を最初から大規模にしない📁
- “1機能=1フォルダ”くらいからでOK
-
ミニ演習📝:
- わざと盛った型・共通化例を見て、YAGNI的に削る✂️
-
AI活用🤖:
- 「今の要件に必要な型だけに絞って書き直して」
-
成果物📦:TypeScript版YAGNI判断ルール集
第6章:YAGNIで進める開発フロー(基本)🚶♀️✨
ねらい🎯:YAGNIを“手順”として回せるようになる
-
進め方テンプレ📌
- ①MVP → ②最小実装 → ③小リファクタ → ④次の1歩
-
YAGNIチェック観点👀
- 「それ、受け入れ条件に必要?」✅
- 「未来のための仕組みが増えてない?」🧨
-
ミニ演習📝:
- 推し活メモに小さな変更(例:ピン留め⭐)を入れて差分を見る👣
-
成果物📦:自分用の“開発フロー手順メモ”
第7章:AIと一緒にYAGNI(盛らせない使い方)🤖🧯
ねらい🎯:AIを味方にしつつ、過剰設計を防ぐ
-
AIが盛りがちなポイント🎈😅
- “最初から完璧アーキ”にしたがる
- 汎用化/抽象化/設定化を増やしがち
-
盛らせない指示テンプレ集🧾✨
- 「拡張性は考えすぎず、今の要件だけで」
- 「使わない機能は追加しない」
- 「型は最小、複雑なGenericsは禁止」
-
AIレビューの使い方🕵️♀️
- 「今不要な抽象化どれ?」
- 「削っても困らない箇所どれ?」
-
ミニ演習📝:
- AI提案を“削る”練習(削った理由も書く)✍️
-
成果物📦:Copilot/Codex用プロンプト集(YAGNI専用)
第8章:最終ミニ課題(追加要件1つで育てる)🎓🌱
ねらい🎯:YAGNIで“育てる設計”を体験して終える
-
要求を1個だけ追加して改善🔁
- 例:検索🔎/並び替え↕️/タグ付け🏷️(どれか1つだけ!)
-
“差分が小さい=勝ち”🏆✨
-
軽ADR🗒️:「入れなかった理由」を1枚書く(未来の自分に優しい🙂)
-
最終チェック✅:YAGNIチェックリストで自己採点💯
-
成果物📦:改善版アプリ+軽ADR+自己採点メモ