← Reports へ戻る

AIでコードを書くときに品質を落とさない基本ルール

AI生成コードを活用しながら、コード品質を維持するための基本ルールを説明します。

AIでコードを書くときに品質を落とさない基本ルール

はじめに

AI を使うと開発が高速化しますが、品質を落とさないことが重要です。本記事では、AI 生成コードの品質を維持するための基本ルールを説明します。

品質が落ちる理由

❌ よくあるシナリオ:
AI にコード生成を依頼

「とりあえず動く」コードが出てくる

時間がないから deploy

後から保守が大変

負債が溜まる

基本ルール 5 つ

ルール 1:テストが通るまでは「完成」ではない

❌ 基準を下げたやり方:
「AI が実装した」
→ deploy

✅ 品質を維持するやり方:
「AI が実装」
→ テストが全部パス
→ deploy

チェックリスト

□ 既存テストがすべてパスしているか
□ 新しい機能のテストは十分か
□ エッジケースをテストしたか
□ テストカバレッジは 80% 以上か

ルール 2:差分(git diff)を絶対に確認する

❌ 危険なやり方:
AI が実装した

すぐに commit

✅ 安全なやり方:
AI が実装した

git diff で確認

意図しない削除がないか

ロジックが壊れていないか

commit

確認項目

□ 意図しない削除がないか
□ インデント・フォーマットは正しいか
□ 余計なコメント削除がないか
□ ロジックの意図は理解できるか
□ パフォーマンスに問題ないか

ルール 3:コード規約を守らせる

❌ 品質が下がる:
AI の出力をそのまま使用

✅ 品質を維持する:
AI に「コード規約を守って」と明示指示

Linter で検証

使用 OK

指示例

「以下のコード規約を守って実装:
- 関数名は snake_case
- 変数名は英語
- 複雑さ(ABC メトリクス)は 15 以下
- 関数行数は 50 行以下
- docstring は必須」

ルール 4:依存関係を増やさない

❌ 品質が下がる:
AI が「このライブラリを使えば簡単」と提案

新しいライブラリを追加

依存関係が増える

保守が複雑に

✅ 品質を維持する:
「既存ライブラリのみを使用」と制約

複雑になっても既存技術スタックで実装

チェック

□ 新しいライブラリを追加していないか
□ requirements.txt に反映されているか
□ セキュリティアップデートはカバーされているか

ルール 5:レビュー工程を省かない

❌ 品質が下がる:
AI 実装

すぐに deploy

✅ 品質を維持する:
AI 実装

人間がレビュー(コード品質、セキュリティ)

テスト実行

deploy

レビュー項目

□ 機能は要件を満たしているか
□ コードは読みやすいか
□ セキュリティリスクはないか
□ パフォーマンスは問題ないか
□ ドキュメントは充実しているか

1 日の品質管理ワークフロー

【09:00-10:00】AI で実装

【10:00-10:30】テスト実行
テストが全部パス ✅

【10:30-11:00】差分確認
git diff で詳細確認 ✅

【11:00-11:30】Linter & コード規約確認
flake8, mypy 実行 ✅

【11:30-12:00】セキュリティレビュー
セキュリティリスク確認 ✅

【12:00-13:00】昼休憩

【13:00-13:30】最終確認
すべてのチェック OK ✅

【13:30-14:00】commit & push
本番環境へ

よくある失敗

❌ 失敗1:テスト数を減らす

「AI が実装したからテスト数を減らそう」

後でバグが出る

修正に時間がかかる

✅ 改善:テスト数を増やす

「AI が実装したからこそ、テストを充実させる」

バグを事前に発見

品質が高い

❌ 失敗2:差分確認をスキップ

「AI が正確だから差分確認スキップ」

意図しない変更が入る

本番で動作しない

✅ 改善:差分確認を厳格に

「全部の変更を確認」

問題をすぐ発見

安心できる

チェックリスト:AI 開発の品質ゲート

【実装後】
□ テストがすべてパスしているか
□ 新しいテストを追加したか
□ git diff で確認したか
□ Linter をパスしているか
□ セキュリティリスクを確認したか
□ コード規約を守っているか
□ ドキュメントを更新したか
□ パフォーマンスを確認したか
□ 依存関係を増やしていないか

すべてチェック ✅ → deploy OK
1 つでも ❌ → 修正してから deploy

まとめ

AI 開発で品質を落とさない基本ルール:

5 つのルール

  1. テストが通るまでは「完成」ではない
  2. 差分(git diff)を絶対に確認
  3. コード規約を守らせる
  4. 依存関係を増やさない
  5. レビュー工程を省かない

効果

Claude Codeで既存コードを壊さないための確認手順と合わせることで、高品質な AI 開発が実現します。

コード品質AIベストプラクティス開発