ブログ一覧へ戻る
技術解説·

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項目を最低限チェックし、問題があればプロのエンジニアに相談することをお勧めします。

自社でチェックが難しい場合は、無料コード診断をぜひご利用ください。

AI生成コードでお困りですか?

プロのエンジニアが無料でコードを診断します。

無料診断を申し込む