無料ツール|印刷用チェックリスト
AI生成コードのレビュー・検証チェックリスト
コピーして、プルリクや自分のコミット前に1項目ずつ「○/要確認」を付けながら使ってください。**全部の○を埋める前提ではありません。** 16項目すべてを毎回やろうとすると重いので、最低ラインと優先順位を先に決めておきます。
まずこの3つだけは毎回(最低ライン)
- 意地悪な入力を1つ試した(空・0・想定外の値など)
- 鍵・パスワード・トークンの直書きが無い
- 外部入力をそのままSQL・シェル・HTMLに渡していない
この3つを押さえたら、あとは今日の変更が触っている領域に関係する所だけでかまいません。下の各関門は、その変更が触っていない領域なら免除(飛ばしてよい)です。特に依存・ライセンス・可読性は、該当するときだけ見れば十分です。
関門1:仕様
- 入力・出力の型・単位・並び順が依頼どおりか
- 「やってほしくないこと」(副作用・既存データの変更など)を守れているか
- 解釈が分かれる所(丸め・税・初期値)を、自分の意図と突き合わせたか
関門2:境界・異常系
- 空・null・0・負・極大の入力で壊れないか
- 空配列・要素1つのときの振る舞いを確認したか
- 例外を握りつぶしていないか
- 意地悪な入力のテストを1つ以上自分で足したか
関門3:セキュリティ・機密(外部入力・認証まわりに触れたPRのときに見る)
- 外部入力をそのままSQL・シェル・HTMLに渡していないか
- 認証・認可のチェックを飛ばしていないか
- 鍵・パスワード・トークンが直書き/ログ出力になっていないか
- AIへの入力に機密・個人情報を混ぜていなかったか
関門4:依存・ライセンス(新しい依存を足したときだけ/足していなければ免除)
- 見覚えのない依存が実在し、メンテされているか
- 既存の関数・ユーティリティの作り直しになっていないか
- ライセンスに迷うなら、追加せず既存で代替するか相談したか
関門5:可読性・保守性(気になったときに/余裕がなければ後回し可)
- 命名・コメントがプロジェクトの流儀に合っているか
- 関数が大きすぎないか、意図が追えるか
- 過剰に複雑な書き方になっていないか
この内容は記事「AI生成コードのレビュー・検証チェックリスト|使う前に見る所」のチェックリストです。印刷してそのままお使いいただけます。 / 無料ツール一覧へ