コース一覧
Claude Code実践:開発ワークフローと総合制作
ドキュメントを書かせる

Claude Code実践:開発ワークフローと総合制作

Claude Codeを使った開発ワークフローと総合制作の流れを学ぶコースです。

1
実践ワークフロー
01. バグ修正を任せる6分
02. 機能追加を任せる6分
03. リファクタを任せる6分
04. ドキュメントを書かせる6分
05. 知らないコードを解説させる6分
06. つくる:ワークフロー実践7分
07. 第5章クイズ5分
2
総合制作
01. 大型機能を共同実装8分
02. 総レビュー7分
03. 任せる/書くの境界6分
04. 自由拡張8分
05. 完成と次のステップ5分

ドキュメントを書かせる

ドキュメントは AI が得意な仕事

コードを読んで説明を書く作業は、AI がとても得意です。関数の並びを見て、何をする道具なのかをまとめ、使い方の例まで書けます。人間がいちばん後回しにしがちな仕事なので、任せる価値が大きい部類です。

ただし丸投げすると、当たり障りのない一般論が返ってきます。何を書いてほしいのかの型を渡すと質が変わります。

プレーンテキスト

README に次の4つを書いてください。
  このプログラムが何をするものか
  使い方の例をコード付きで1つ
  各関数の引数と戻り値
  制限や注意点

ドキュメントを書かせると仕様の穴が出る

これが本当のねらいです。AI に説明を書かせると、説明できない部分が浮かび上がります。

プレーンテキスト

この関数は日付ごとに合計します。
ただし日付の形式については、コードからは判断できませんでした。

こう返ってきたら、それは仕様が決まっていないということです。人間が読んでも分からないものは、AI にも分かりません。書けないと言われた箇所こそ、決めるべき仕様です。

docstring は最も近いドキュメント

別ファイルの README も大事ですが、コードのすぐ横に書く説明のほうが陳腐化しにくいです。Python なら docstring です。

Python

def daily_total(records):
    """日付ごとに金額を合計して、日付順に並べた辞書を返す"""

この1行があると、次に読む人 (未来の自分と AI) が中身を読まずに用途を掴めます。AI に説明を書かせるときは、コードと説明を同時に触らせると、両者がずれません。

説明と実装がずれていたら

よくあるのは、docstring には「日付順に並べる」と書いてあるのに、実装は並べていないという食い違いです。このとき直すべきは、たいてい実装のほうです。書かれた説明は誰かが期待した仕様だからです。

プレーンテキスト

悪い   説明のほうを実装に合わせて書き換えて
良い   説明が正しいものとして、実装を説明どおりに直して

どちらを正とするかは人間が決めます。AI に「どちらかに合わせて」と頼むと、楽なほう (説明の書き換え) を選びがちです。

今回の演習

日付ごとの合計を出す関数があります。docstring には日付の昇順で返すと書いてありますが、実装がそうなっていません。説明を正として、実装を直させてください。

完成条件

  • 触ってよいのは kakeibo.py だけです
  • docstring のほうを書き換えて辻褄を合わせるのは禁止です
  • daily_total 関数の戻り値で採点します

依頼

kakeibo.py の daily_total は、docstring に日付の昇順で返すと書いてあるのに実装がそうなっていません。説明を正として実装を直してください。

  • ・触ってよいのは kakeibo.py だけです
  • ・docstring のほうを書き換えて辻褄を合わせるのは禁止です
  • ・daily_total 関数の戻り値で採点します

いまのコード

kakeibo.py

def daily_total(records):
    """日付ごとに金額を合計し、日付の昇順に並べた辞書を返す。

    引数
        records  {"date": "2026-01-05", "amount": 300} の形の辞書のリスト
    戻り値
        日付を文字列のキー、その日の合計金額を値とする辞書。
        キーは日付の昇順に並んでいる。
    """
    result = {}
    for r in records:
        result[r["date"]] = r["amount"]
    return result

AI への指示

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

ヒント