書き飛ばしコードよりやや大きめのコードを Claude Code で書いたので、行った手順をメモしておきます。章立ては時系列順です。
- Python のプロジェクトを作成する
- Python のコーディングルールを作る
- 書きたいコードの仕様をまとめた Markdown を作る
- ファイルを作らせる
- シグネチャを作らせる
- 単体テストを作らせる
- 実装を与える順序を検討してまとめさせる
- 強めのリンターを入れる
- 実装に入る
- 実装結果をレビュー
- ユーザーガイドを作成させる
Python のプロジェクトを作成する
書きたいコードの仕様をまとめた Markdown を作る
- docs 以下に spec.md を作成
- 人間の手で書ける範囲は簡単に書く
- 面倒くさくなったあたりで、要望を claude に伝えて埋めてもらうようにする
- 細かい点を修正
出来上がりが微妙な場合は、AI に清書させてもいいかも。第一稿を参照させて、新たなファイルに再生成させるほうがクオリティが安定する印象。
ファイルを作らせる
- docs/spec.md を参照させて、ファイルをどのように分割すればよいか検討させる
- 検討結果に問題がなさそうなら、空のファイルを生成させる。ファイルの先頭にはどういう役割のファイルか簡単なメモを追記させる。
シグネチャを作らせる
内部実装のないクラスや関数たちを作らせる。
実装を与える順序を検討してまとめさせる
内部実装を行う場合、関数やクラスの間に依存関係をもたせることになるため、実装の順序についてしっかりと検討させる。検討結果を docs/ 以下に出力させる。(implementation-order.md となった)
強めのリンターを入れる
手動で入れてもいいが、命令したほうが楽ちん。
実装に入る
docs/implementation-order.md を参照させた状態で、ステップバイステップで実装するよう命令する。命令の度にリンターと単体テストの実行を行うように念押しする。
実装もかなり時間がかかるので、この隙にこの記事を書いている。一旦レートリミットに到達。一晩明けて再実行ののち完了。
各ファイルに手でフォーマッターを適用して保存。
実装結果をレビュー
- 目視でシッカリめに確認。
- いくつか気になったところがあったので、AI に修正を依頼。
ユーザーガイドを作成させる
使い方がわからなくなったとき用のメモ。
