型12: 初心者クラス総合演習
クラス: 初心者
所要時間: 約60分
前提知識: 型1〜11 完了済み
1. 概要
この型は初心者クラスの集大成だ。 型1〜11 で習得したすべてのスキルを使って、1つの小さなプロジェクトを最初から作り上げよ。
今回作るもの
「家計簿 CLI アプリ」
- 収支を記録するシンプルなコマンドラインツール
- JSON ファイルにデータを保存
- 月別の集計・残高確認機能
2. 演習手順
Phase 1: プロジェクトセットアップ(型1〜3 の応用)
bash
mkdir -p ~/claude-practice/lesson12
cd ~/claude-practice/lesson12
claude家計簿CLIアプリを作ります。まずプロジェクトのセットアップをしてください。
- ディレクトリ構造: src/, tests/, data/
- package.json: name="kakeibo-cli", version="1.0.0"
- CLAUDE.md: このプロジェクトの概要と規約を記述Phase 2: コアロジックの作成(型4・9 の応用)
src/storage.js を作成してください。
data/transactions.json にデータを読み書きするモジュールで、
以下の関数を含めてください:
- loadTransactions(): JSONファイルから全データを読み込む(ファイルがなければ[]を返す)
- saveTransactions(transactions): JSONファイルに保存src/kakeibo.js を作成してください。
以下の関数を含めてください:
- addIncome(amount, description, date): 収入を追加
- addExpense(amount, description, date): 支出を追加
- getBalance(): 残高を計算して返す
- getMonthlySummary(year, month): 指定月の収支サマリーを返す
- getAllTransactions(): 全取引を返すPhase 3: CLIインターフェース(型5・10 の応用)
src/index.js を作成してください。
コマンドライン引数を受け取って kakeibo.js の関数を呼び出すCLIツールです。
使い方の例:
node src/index.js add income 5000 "給料"
node src/index.js add expense 1200 "ランチ"
node src/index.js balance
node src/index.js summary 2024 1
node src/index.js listPhase 4: 動作確認と修正(型7 の応用)
bash
# 実際に動かして確認
node src/index.js add income 200000 "1月給料"
node src/index.js add expense 80000 "家賃"
node src/index.js add expense 30000 "食費"
node src/index.js balance
node src/index.js summary 2024 1
node src/index.js listエラーが出た場合:
以下のエラーが出ました。修正してください:
[エラーメッセージを貼り付け]Phase 5: テストと改善(型6・11 の応用)
tests/kakeibo.test.js を作成してください。
以下のテストケースを含めてください:
- 収入追加後に残高が正しく増えること
- 支出追加後に残高が正しく減ること
- 残高がマイナスになる場合の挙動
- getMonthlySummary が正しい月のデータだけ返すことPhase 6: ドキュメント整備(型8・11 の応用)
このプロジェクトの README.md を作成してください。
以下を含めてください:
- プロジェクト説明
- セットアップ手順
- 使い方(コマンド一覧)
- ファイル構造3. 確認課題(Assignment)
課題 12-1: 機能追加
以下の機能を追加するよう Claude Code に依頼せよ:
カテゴリ機能を追加してください:
- addExpense に category 引数を追加(food/transport/entertainment/other)
- getCategoryBreakdown(year, month): カテゴリ別の支出割合を返す
- list コマンドにカテゴリでのフィルタリングオプションを追加達成条件: カテゴリ付きで支出が記録でき、カテゴリ別集計が取れること
課題 12-2: バグ発見と修正
意図的なバグを含むシナリオでテストせよ:
bash
# 異常値のテスト
node src/index.js add expense -1000 "マイナス支出?"
node src/index.js add income 0 "ゼロ収入?"
node src/index.js add expense "abc" "文字列金額?"見つかったバグを Claude Code に報告して修正させよ。
達成条件: 不正な入力値に対して適切なエラーメッセージが表示されること
課題 12-3: コードレビュー
src/ ディレクトリのすべてのファイルをレビューしてください。
以下の観点で問題点を指摘してください:
1. バグや潜在的なエラー
2. パフォーマンス上の問題
3. コードの可読性
4. セキュリティ上の懸念
重要度 High / Medium / Low に分類してリストアップしてください。達成条件: 3つ以上の改善点が具体的に指摘されること
4. 初心者クラス修了チェックリスト
以下の項目がすべてできるようになったか確認せよ:
インストール・認証
基本操作
ファイル操作
問題解決
プロジェクト理解
初心者クラスの修行、完了だ!
次は初級クラスで、ファイル作成・デバッグ・Git 連携を極めよ!
