第1章:「書ける」と「設計できる」は別物 🧠✨
(C#が書けても設計で迷う理由)

1. まず起きがちな現象:コードは書けるのに、なぜか進まない 😵💫🌀
C#で「動くもの」は作れるのに、次の場面で急に手が止まりやすいです👇
- 「この処理、どこに書けばいいの?🤔」
- 「クラス増やすべき? でも増やすと逆にややこしい?😵」
- 「とりあえず書いたけど、あとで自分が読めない…📉」
- 「修正しようとしたら、関係ない所が壊れた😭💥」
これ、あなたが弱いわけじゃなくて “コードを書く力” と “設計する力” が 別スキル だからです🙂🧩
2. たとえ話:作文は書けるのに、小説の構成で詰む📚✨
- コードを書く=文章をスラスラ書くこと ✍️
- 設計する=「章立て」「登場人物」「伏線」「視点」を決めること 🧠
文章が書けても、いきなり長編小説の構成は難しいよね?😳 プログラムも同じで、設計は “構成を決める力” なんだよ〜!😊💡
3. 設計で迷う正体:決めることが多すぎる問題 🧠⚖️
設計って、実は「正解のない決断」の連続です👇
✅ よくある“決めること”
- どのクラスが何を担当する?(役割分担)👭📦
- 何をどこまでまとめる?(境界線)🧱
- 名前は何にする?(言葉の統一)🗣️
- どこからどこへ依存していい?(つながり方)🔗
- 将来変わりそうなのはどこ?(変化の予測)🔮
コードは「書けば進む」けど、設計は「決めないと進まない」🥲 だから迷うんだよね。
4. “動く” と “扱いやすい” は違う 🛠️😇
動くコードは作れても、こんなコードは苦しくなりがち👇
- 変更したら別の場所が壊れる 😱
- 似た処理が増殖する 🧟♀️
- どこを直せばいいか探すだけで時間が溶ける ⏳💨
- AIに頼むと、毎回バラバラの書き方になる 🤖🌀
つまり、設計は「未来の自分が迷わないための道しるべ」🗺️✨ (AI時代は特にここが超重要!)
5. ミニ例:「とりあえず動く」が生む“迷子コード” 🧶😵
たとえば「合計金額を計算する」みたいな処理。 最初はこうなりがち👇
public int CalcTotal(int price, int count, string coupon, bool isMember)
{
var total = price * count;
if (coupon == "SALE10") total -= 10;
if (coupon == "SALE20") total -= 20;
if (isMember) total = (int)(total * 0.9);
if (total < 0) total = 0;
return total;
}
動く。けど… ルールが増えた瞬間に地獄になりやすい😇🔥 (クーポン種類、会員ランク、上限、端数処理、キャンペーン併用…)
ここで設計があると、こういう発想に変わるよ👇
- 「割引ルール」をひとまとめにしたい 🧾
- 「クーポン」って文字列じゃなく、意味のある型にしたい 🏷️
- “変更が起きそうな場所”を隔離したい 🚧
この「発想の切り替え」こそが設計力です💪✨
6. 今日から使える!迷ったときの“3つの質問” 🪄❓
設計で詰まったら、まずこれを自分に聞いてみてね😊

Q1. これは「何のための処理」?(目的)🎯
→ 目的が言えない処理は、だいたい散らかる💦
Q2. これは「誰の責任」?(担当)👤📦
→ “どこに書くか”は、“誰の仕事か”で決まることが多いよ!
Q3. ここは「変わりそう」?(変化)🔮
→ 変わりそうなら、まとめ方を工夫する価値がある✨
この3つが、**「迷わないためのコンパス」**になります🧭💖
7. AIを味方にするコツ:AIは“設計の相談相手”にする 🤝🤖
AIにコードを丸投げすると、部分は綺麗でも全体がバラバラになりがち😵💫 だから最初は「設計の会話」をしてね✨
そのまま使えるプロンプト例 💬
- 「この関数、責務が混ざってる気がする。役割分担案を3つ出して」🧠
- 「将来ルールが増える前提で、拡張しやすい構造の方向性を教えて」🔧
- 「この処理、どこに置くべき?クラス候補と理由をセットで」📦
“答えを出させる”より、選択肢を出させるのがコツだよ😊🌸
8. 【ミニワーク】あなたの過去コードで“設計迷子ポイント”を見つける 🕵️♀️✨
過去に書いたコードを1つ選んで(小さめでOK)👇
Step1:この3つにマーカーしてみてね🖍️
- どこが「目的が曖昧」?🎯
- どこが「責任が混ざってる」?👤
- どこが「変更で壊れそう」?🔮
Step2:AIにこれを聞く💬🤖
「このコードの責務の分割案を出して。分割後のクラス名も提案して」
Step3:最後に自分で一言メモ📝
「未来の自分が助かる改善は何?」✨
これだけで、設計の筋トレになります💪😊
9. まとめ:設計は“迷わないための地図” 🗺️💖
- コードを書く力=手を動かす力 ✍️
- 設計する力=迷わないように道を作る力 🧭
- 迷うのは普通!むしろここから伸びる🌱
- AI時代は「設計の言葉」を持つほど強い🤖✨
次の章では、設計が何のためにあるのか(超大事)をハッキリさせます😊📘✨ **「設計の目的は◯◯のため」**ってやつだよ〜!🎀