「何がわからないか分からない」を抜け出す 7 ステップ
─ C# を学ぶあなた自身が今日から実践できる手順─
ステップ | ねらい | あなたが今やること | C# コンソールアプリの例 |
---|---|---|---|
1. ゴールを 1 行で書く | 何を “達成したいか” をはっきりさせる | ノートやテキストに「いつまでに・どんなアプリを・どこで動かすか」を文章で書く | 3か月以内に .NET 8 で銀行口座アプリを完成させる |
2. ゴールを “やる動作” に分解 | できる/できないを判定できる単位にする | まず機能を箇条書き → さらに「メソッド名レベル」へ細分化 | – 入金する- 出金する- 残高を表示する |
3. チェックリストで自己診断 | “知らない” を目に見える形にする | 各項目を ✔(できる)/?(あいまい)/✖(知らない)で色分け | ✔ if 文/ループ? クラスの作り方✖ 例外処理 |
4. ?・✖ を質問文に変換 | 調べやすい形にする | “動詞+対象+状況” で具体化 | 「List<T> と配列はどう使い分ける?」 |
5. 調べ方に優先順位を付ける | 情報の質と手間をコントロール | ① Microsoft Learn → ② .NET 公式ドキュメント → ③ Stack Overflow → ④ 個人ブログ の順に当たる | 公式チュートリアルをまず読む |
6. 学習ログを残す | 復習と“迷子防止” | 1 日 1 ファイルで「疑問/試したコード/結果」を Markdown に書く | csharp\nvar acc = new BankAccount(\"001\", 500);\nacc.Withdraw(600); // 例外?\n |
7. 週 1 回、図で棚卸し | “未知エリア” を縮め続ける | 日曜にマインドマップを描き直し、灰色=まだ触れていない API を塗る | BankAccount クラス図を更新 |
ステップ 2〜4 を実際に書き出してみる
public class BankAccount
{
public string Id { get; }
private decimal _balance;
private readonly List<string> _logs = new();
public BankAccount(string id, decimal initial)
{
Id = id;
_balance = initial;
_logs.Add($"OPEN {initial:C}");
}
public void Deposit(decimal amount)
{
_balance += amount;
_logs.Add($"DEPOSIT {amount:C}");
}
public void Withdraw(decimal amount)
{
if (amount > _balance)
throw new InvalidOperationException("残高不足");
_balance -= amount;
_logs.Add($"WITHDRAW {amount:C}");
}
public decimal Balance => _balance;
public IReadOnlyList<string> Logs => _logs;
}
- ? List<string> が分からない → 「配列との違いは?」「反復処理は foreach?」
- ✖ 例外 (throw / try–catch) を知らない → 「例外が発生するとプログラムはどう止まる?」
実践のヒント 5 つ
- 手書きでも OK ― まずは紙にゴールとチェックリストを書き出すだけでも効果大。
- 質問は “検索ワード” になる ― 4 の形で書くと、そのまま Google に貼ってもヒットしやすい。
- ログは資産 ― 明日忘れても、昨日の Markdown があなたの FAQ になる。
- 定点観測 ― 週 1 棚卸しで「灰色ゾーン」がどれだけ縮んだかを確認。
- 迷ったらサンプルを動かす ― コードを触って“壊す→直す”が最速の理解ルート。
今日から始めるミニ課題
- ノートに ゴールを 1 行 書く
- 機能を 5 つに分解し、✔/?/✖ を付ける
- ? を 3 つ選んで検索 → 学習ログ day01.md を作成
1 週間続けると、「何が分からないか」を自分で指させるようになり、学習の迷子時間が確実に減ります。まずは紙とエディタを開いて、ステップ 1 を書き出してみましょう。
訪問数 12 回, 今日の訪問数 12回
ディスカッション
コメント一覧
まだ、コメントがありません