第1章:AI支援の使い方(この教材の共通ルール)🤖✨
1. この章のゴール🎯
この教材では、AI(Copilot / Codex など)を✅ これ、めっちゃ起こりがちで、そしてだいたい壊れる😇
ステップ1:まず“ごちゃ混ぜコード”を用意する🍲💦
下のコードを、コンソールアプリにそのまま貼ってOK(動けばOK!)😊
using System;
using System.Collections.Generic;
using System.IO;
public class Program
{
public static void Main()
{
Console.Write("商品名: ");
var name = Console.ReadLine() ?? "";
Console.Write("単価: ");
var unitText = Console.ReadLine() ?? "0";
decimal unitPrice = decimal.TryParse(unitText, out var u) ? u : 0;
Console.Write("数量: ");
var qtyText = Console.ReadLine() ?? "0";
int qty = int.TryParse(qtyText, out var q) ? q : 0;
// ルール:小計、割引、税、合計(ここに全部入り…😱)
var subTotal = unitPrice * qty;
var discount = 0m;
if (subTotal >= 10000) discount = subTotal * 0.10m;
else if (subTotal >= 5000) discount = subTotal * 0.05m;
var afterDiscount = subTotal - discount;
var tax = afterDiscount * 0.10m;
var total = afterDiscount + tax;
// ログもここ
Console.WriteLine($"[LOG] Calculated total: {total}");
// “保存”もここ(本当はDBとかのつもり)
var line = $"{DateTime.Now:O},{name},{unitPrice},{qty},{total}";
File.AppendAllLines("orders.csv", new[] { line });
// “通知”もここ(本当はメールとかのつもり)
Console.WriteLine($"✅ 注文完了! {name} x{qty} 合計 {total} 円");
}
}
ステップ2:AIに「分割案」を1回だけ出させる🤖💡
ここでチャットに プロンプト①を投げるよ!
AIプロンプト① 🤖
1回だけね🎀(連投しない!)
「このコードの責務を3つに分ける案を、クラス名付きで提案して」
ステップ3:AI案の「危ない点」を指摘させる🤖⚠️
次に プロンプト② を1回だけ!
AIプロンプト② 🤖
「その案は責務の混在や依存増加がない?危ない点を3つ指摘して」
ステップ4:採用/不採用を自分の言葉で書く📝✨
ここがいちばん大事!!(この教材のキモ🎯)
記録テンプレ📝(コピペOK)
-
AI案(3分割)はこうだった:
- ①〇〇:
- ②〇〇:
- ③〇〇:
-
採用した点✅:
- (例)UIと計算を分けるのは変更に強そう、など
-
捨てた点🗑️:
- (例)interface増やしすぎで逆に複雑、など
-
私の結論🎀:
- “今回はここまで”直す(最小の一歩)✂️
6. この章で覚えておく「合言葉」🔖✨
- AIは 案出し係💡
- 人間は 責務と依存の審査官🧠✅
- プロンプトは 1章1〜2個🎀
- 直すのは 最小の一歩✂️✨
7. ちょい補足:Copilot以外(Codex等)でも同じ運用でOK🤝
OpenAIのCodexみたいな“作業を進める系”のAIでも、ルールは同じだよ😊 **「案はもらう、決めるのは自分」**が最強🛡️✨ (OpenAI)
まとめ🎉
第1章は、設計の勉強というより **“AIとの付き合い方の型づくり”**でした😊✨ 次章からは、わざと「変更が怖い😱」コードを体験して、 高凝集・低結合が必要な理由を体でわかるようにしていくよ〜💪💖