ブログ一覧へ戻る
技術解説·
AI生成コードの品質チェックリスト10項目
コード品質チェックリストベストプラクティス
はじめに
ChatGPT、Claude、Cursor、GitHub Copilotなど、AIコーディングツールの進化により、プログラミング未経験者でもWebアプリケーションを構築できるようになりました。しかし、AIが生成したコードは「動く」ことと「本番で使える」ことは全く別です。
本記事では、AI生成コードを本番環境にデプロイする前に必ず確認すべき10項目をご紹介します。
チェックリスト
1. エラーハンドリングは適切か
AIは「正常系」のコードは得意ですが、エラー処理が不十分なことが多いです。
- try-catchブロックが適切に配置されているか
- ユーザーにわかりやすいエラーメッセージを表示しているか
- エラーログが適切に記録されているか
2. 入力バリデーションは実装されているか
AIが生成したフォームやAPIは、入力チェックが甘いことがあります。
- サーバーサイドでバリデーションを行っているか(フロントのみは不十分)
- SQLインジェクション、XSS等の攻撃に対する防御があるか
- ファイルアップロードのサイズ・種類制限はあるか
3. 認証・認可は正しく実装されているか
これはAI生成コードで最も危険な領域の一つです。
- パスワードは適切にハッシュ化されているか
- セッション管理は安全か
- APIエンドポイントに認可チェックがあるか
4. 環境変数でシークレットを管理しているか
AIがコード中にAPIキーやパスワードをハードコードすることがあります。
.envファイルを使用しているか.gitignoreに.envが含まれているか- 本番用と開発用で環境変数を分けているか
5. データベースクエリは最適化されているか
AIはN+1クエリ問題を引き起こすコードを生成しがちです。
- 不要な全件取得をしていないか
- 適切なインデックスが設定されているか
- ページネーションが実装されているか
6. テストは書かれているか
AIにテストの生成を依頼しない限り、テストコードは生成されません。
- ユニットテストがあるか
- 主要な機能パスがテストされているか
- エッジケースのテストがあるか
7. 依存パッケージは安全か
AIが古いバージョンや脆弱性のあるパッケージを指定することがあります。
npm auditで脆弱性がないか確認- 不要な依存関係がないか
- ライセンスに問題がないか
8. パフォーマンスは許容範囲か
動くことと、速いことは別問題です。
- ページの表示速度は3秒以内か
- 画像の最適化はされているか
- バンドルサイズは適切か
9. アクセシビリティは考慮されているか
AIはアクセシビリティを無視したコードを生成することがあります。
- セマンティックHTMLを使用しているか
- alt属性、aria属性が設定されているか
- キーボードナビゲーションが可能か
10. デプロイ・運用の準備はできているか
開発環境では動いても、本番環境で問題が起きることがあります。
- 環境変数の本番値は設定済みか
- ログ収集・モニタリングは設定されているか
- バックアップ・復旧手順はあるか
まとめ
AI生成コードは開発の出発点としては優れていますが、そのまま本番環境に出すのは危険です。上記の10項目を最低限チェックし、問題があればプロのエンジニアに相談することをお勧めします。
自社でチェックが難しい場合は、無料コード診断をぜひご利用ください。