コース一覧
Claude Code入門
総レビュー

Claude Code入門

AIコーディングエージェント「Claude Code」への指示の出し方、生成コードの読み方とレビュー、テストと安全確認、バグ修正から機能追加までの実践ワークフローを、毎レッスン実際にエージェントと開発しながら学びます。入門で自分が書いたおこづかい帳を、AIと一緒に機能拡張していきます。

1
Claude Codeとは
01. AIエージェントとは5分
02. 起動と最初の対話5分
03. はじめての指示5分
04. 動きのしくみ5分
05. つくる:最初の一巡6分
06. 第1章クイズ5分
2
基本操作
01. コードについて質問する5分
02. 修正を依頼する5分
03. 差分を読む6分
04. 動かして確かめる5分
05. 元に戻す5分
06. つくる:操作の一巡6分
07. 第2章クイズ5分
3
良い指示の出し方
01. 要件の伝え方5分
02. 受け入れ条件6分
03. タスクを分割する6分
04. 計画させてから実行6分
05. CLAUDE.mdを書く6分
06. つくる:指示の型6分
07. 第3章クイズ5分
4
レビューと安全
01. 生成コードを読む6分
02. 自分で試験する6分
03. テストを書かせる6分
04. 危険な操作の見極め6分
05. 修正の往復6分
06. つくる:レビュー一巡7分
07. 第4章クイズ5分
5
実践ワークフロー
01. バグ修正を任せる6分
02. 機能追加を任せる6分
03. リファクタを任せる6分
04. ドキュメントを書かせる6分
05. 知らないコードを解説させる6分
06. つくる:ワークフロー実践7分
07. 第5章クイズ5分
6
総合制作
01. 大型機能を共同実装8分
02. 総レビュー7分
03. 任せる/書くの境界6分
04. 自由拡張8分
05. 完成と次のステップ5分

総レビュー

説明できないコードは自分のものではない

前回で月次レポートの中心ができました。次にやるのは、書き上がったものを全部説明できる状態にすることです。

基準は1つです。このコードは何をしていますか、と聞かれて、AI に聞き直さずに答えられるか。 答えられない行が残っているなら、そこはまだ他人のコードです。動いていても、壊れたときに直せません。

差分の全体を1回で読む

1つずつ承認してきた変更でも、最後にまとめて読み直します。個別に見ていたときは気づかなかったものが見えます。

プレーンテキスト

git diff

見るのは3つです。

プレーンテキスト

重複 同じ処理が2か所に増えていないか 置き場所 レポートの計算が表示側に混ざっていないか 取り残し 使われなくなった関数や変数が残っていないか

取り残しが一番多く出ます。 機能を積み上げていくと、途中で役目を終えた関数がそのまま残ります。残っていても動きますが、次に読む人 (半年後の自分を含む) は「これはまだ使われている」と思って読みます。

説明文を自分で書く

レビューの仕上げは、変更内容を自分の言葉で1段落書くことです。AI に書かせてはいけません。

プレーンテキスト

月次レポート機能を追加した。 monthlyReport が対象月の記録を絞り込み、合計とカテゴリ別内訳を返す。 対象月の記録が無いときは total 0 と空の内訳を返す。

書けない箇所があったら、そこが理解できていない箇所です。書いてみて初めて「前月比のときの分母をどうしたんだっけ」と気づく、ということが起きます。説明文はドキュメントであると同時に、理解の抜けを見つける検査です。

整理も1つずつ頼む

レビューで見つけた問題を直すときも、まとめて頼まないでください。

プレーンテキスト

悪い 気になったところを全部きれいにして 良い report.py の formatReport から、合計を計算している部分を取り除いてください

「きれいにして」は、AI にとっては何をしてもよいという意味になります。動いていたものが動かなくなる変更が混ざっても、差分が大きいと気づけません。

演習

レビューで見つかった典型的な問題を1つ直します。合計を出す処理が2か所に重複していて、片方が古い計算のままになっています。重複を1つにまとめ、正しい方に揃えてください。

完成条件

  • 触ってよいのは kakeibo.py だけです
  • 戻り値は {"total": 合計, "count": 件数} の形にしてください
  • summarizeReport 関数の戻り値で採点します

依頼

kakeibo.py の summarizeReport が、合計を2か所で別々に計算していて値がずれています。重複をなくし、正しい合計を返すようにしてください。

  • ・触ってよいのは kakeibo.py だけです
  • ・戻り値は {"total": 合計, "count": 件数} の形にしてください
  • ・summarizeReport 関数の戻り値で採点します

いまのコード

kakeibo.py

def summarizeReport(records):
    """記録の合計と件数をまとめる"""
    total = 0
    for r in records:
        total += r["amount"]
    # 古い計算が残っている。ここで total を上書きしてしまう
    total = sum(r["amount"] for r in records if r["category"] == "食費")
    return {"total": total, "count": len(records)}

AI への指示

残り 4 回
AI に依頼するにはが必要です

ヒント