第10章:まとめ:ここまでの成果物チェック✅🎉
この章のゴール🎯
ここまで作ってきた「カフェ注文ミニアプリ(最小)」を、**“学習し続けられる状態”**に整えます✨ やることはシンプルに3つだけ👇
- ① 動く(いつでも再現できる)▶️
- ② 壊れにくい(テストと型で守れてる)🛡️
- ③ 次に直す場所がわかる(改善の優先度が決まってる)🧭
✅ 成果物チェックリスト(まずは全部に✔を付けよう!)
「今の自分のプロジェクト」を、これで点検してね🧁💕
A. コマンドで“健康診断”🩺
-
npm test(またはpnpm test)が 通る✅ -
npm run lintが 通る✅ -
npm run typecheck(なければnpx tsc --noEmit)が 通る✅ - 失敗したときに エラーメッセージを読める(怖がらない😌)
TypeScriptは今ちょうど 6.0がベータ→RC→正式へ進む時期の情報が公開されてるので、学習用プロジェクトは「バージョン固定」しとくと安心だよ🍀(スケジュールが具体的に出てる)(GitHub)
B. プロジェクトの“形”📦
- ファイルが「役割」で分かれてる(例:
domain/app/testsみたいに)🗂️ -
index.tsが巨大になってない(“入口”は薄く✨) - 「注文の型」「合計計算」みたいな中心が、見つけやすい👀
C. テストの“最低ライン”🧪
- 代表ケース(普通の注文)
- 境界ケース(0件/0円/空文字など)
- 失敗ケース(入力がおかしいとき) この3つが少なくとも入ってる✅
D. “匂い”がメモされてる👃💭
- 「ここつらい…」にコメント印がある(後で直す場所)📌
- if/switchが増えそうな場所が分かる😵
- 引数が増えそうな場所が分かる😵💫
E. Gitの節目がある🌿
- 「第10章の時点」のコミットが1つある✅
- コミットメッセージが、あとで見ても分かる(例:
ch10: baseline working + tests)📝
ハンズオン🛠️:点検 → ちょい掃除 → コミット(30分コース)⏳✨
Step 1)3連チェックを回す▶️▶️▶️
VS Codeのターミナルでこれを順に実行するだけ!
## 例(scriptsに合わせて置き換えてOK)
npm test
npm run lint
npx tsc --noEmit
- 1つでも落ちたら、直すのはそこだけでOK🙆♀️
- “全部いっぺんに直す”は疲れるので禁止〜!🚫😵💫
Step 2)VS Codeで“読みやすさ”を1個だけ上げる🧰✨
ここは「1個だけ」でいいよ💕
おすすめはこのどれか👇
- Rename Symbol:名前を分かりやすくする✍️
- Find References:どこから呼ばれてるか追う👣
- Extract Method:長い処理を小さく切る🔪
目安:
- 1関数が 30行超えてたら、Extract候補かも😌
Step 3)テストを“1本だけ”増やして強くする💪🧪
次のどれか1つを追加しよう✨(1本でOK!)
- 注文が空配列のとき、合計は0になる?🧾➡️0円
- 数量が0の項目が混ざってても大丈夫?0は無視?扱い決める🎚️
- 金額がマイナスは拒否する?Result/例外/バリデーションどれ?🧯
Step 4)Gitコミットで“節目”を固定📌🎉
VS Codeのソース管理(左のツリーのやつ🌳)からコミットするだけ!
コミットメッセージ例👇
ch10: baseline checked (test/lint/typecheck)ch10: extract total calculation + add boundary test
この“節目コミット”があると、後で迷子になりにくいよ🧭✨
📁 ここまでの“理想の最小フォルダ”例(迷子防止マップ🗺️)
※完全一致じゃなくてOK!「役割で分ける」だけ守れれば勝ち🥳
src/
domain/
order.ts // 型(Order, Item)
money.ts // 金額の扱い(あれば)
app/
calcTotal.ts // 合計計算(純粋関数に寄せたい)
format.ts // 表示用(あれば)
index.ts // 入口(薄く!)
tests/
calcTotal.test.ts
“できてる感”が出るチェックポイント✨(超重要)
✅ 1)中心ロジックが「純粋関数」っぽい
入力を入れたら出力が返るだけ、みたいな形🍀 副作用(ログ・I/O)が混ざるとテストがしんどくなる😵
✅ 2)型が“仕様メモ”になってる
型を見るだけで「何が入るのか」が分かるのが理想💎
(第11章の interface に繋がるよ!🧩)
✅ 3)追加要求が来た時に、つらい場所が予想できる
たとえば👇
- 割引が増えたらどこがつらい?
- 注文状態(作成中/確定/キャンセル)が増えたらどこがつらい? この“予想”ができたら、設計センス育ってる🌱✨
AIプロンプト例🤖💬(第10章:振り返り専用セット)
そのままコピペでOKだよ〜🧁✨
## 1) 構成を要約して、次に直す優先度を出して
このプロジェクトの構成(フォルダ/責務/依存)を要約して、
改善すると良い点を「優先度順」に5つ出して。各項目に理由もつけて。
## 2) テストの穴を探す
calcTotal の仕様を推測して、足りないテストケースを10個提案して。
代表ケース・境界ケース・異常系で分類して。
## 3) 匂い→候補パターン(まだ導入しない)
このコードの“つらくなりそうな匂い”を3つ指摘して、
効きそうなGoFパターン候補を各2つ、理由つきで出して(導入はまだしない)。
ちなみに、GitHub のCopilotは「要約・テスト案・リファクタ案」の相性が良いって公式ドキュメントでも整理されてるよ📚✨(Visual Studio Code) (ただし採用判断は人間の仕事🫶)
最近は“モダナイズ支援”みたいな拡張の話も出ていて、JS/TSの移行・整理の流れも強くなってるよ🧹✨(Microsoft Developer) (こういうのは便利だけど、学習では「自分で読める状態」を優先ね💡)
つまずき回避💡(ここで詰まりがちTOP3)
1)typecheck が落ちて意味が分からない😵
- まずは最初のエラーだけ見る(連鎖は無視!)
- “型のズレ”は、だいたい どこかで型が広がってる(any化) ことが多い😮💨
2)ESMまわりで import が混乱する🌀
- 学習用は「1つの流儀」に統一が大事📌 TypeScriptもNode向け設定の話をリリースノートで触れてるので、“混ぜない”が吉だよ🍀(TypeScript)
3)Nodeのバージョン差で挙動がズレる😵💫
- 2026年2月ごろだと、Nodeは v24がActive LTS、v25がCurrentって整理が見えるよ📍(nodejs.org) 学習プロジェクトは「使うNodeの系統を固定」すると迷子になりにくい🧸
次(第11章)へつながる“宿題”🧩✨
第11章は interface で「差し替え可能」を作る章だよね🍡
だから今のうちに、コードを見てこれを1個だけ探しておこう👇
- 「ここ、将来差し替えたくなりそう…」って場所どこ?🔁 例:割引ロジック/表示整形/支払い方法/通知方法…
見つけられたら、第11章がスッ…と入ってくるよ😌💖
✅ 第10章チェック完了の合図🎉
- 3連チェックが通る
- テストが最低ラインある
- つらい所が1〜3個メモされてる
- 節目コミットがある
ここまでできたら、もう“学び続けられる土台”完成〜!🌸✨
(参考:VS Codeの安定版リリースは2026年初頭時点で1.108系の情報が出てるよ📌)(Visual Studio Code)