🔍 コードレビュー観点表
あくまで参考程度の一覧です。
レビュアーの皆様は、各プロジェクト・チームの状況や規模に応じて、
適宜観点を取捨選択・追加してご確認ください。
| 区分 | 観点 | レビュー内容 | 補足 | 優先度 |
|---|---|---|---|---|
| All | 安全性 | パスワードなどのセンシティブ情報をログ出力していないか | - | 🟥 高 |
| All | 安全性 | スコープ外の修正が含まれていないか | - | 🟥 高 |
| All | 安全性 | ビルド・テスト・静的解析(lintなど)が通るか | FE/BEどちらも対象 | 🟥 高 |
| All | 安全性 | マージ先のブランチが正しいか | - | 🟥 高 |
| All | 安全性 | DBマイグレーション・Seederの変更、新しいパッケージ追加などを概要に記載しているか | レビュアーへの事前共有を徹底 | 🟥 高 |
| All | 可読性 | コーディング規約に沿って実装されているか | - | 🟨 中 |
| All | 可読性 | 複雑な構造になっていないか | ネストが深いif文などを避ける | 🟨 中 |
| All | 可読性 | 同じ処理の関数が重複定義されていないか | DRY原則を意識する ※DRY原則 | 🟨 中 |
| All | 可読性 | マジックナンバーを使用していないか | 定数として切り出す | 🟨 中 |
| All | 可読性 | コメントの内容・粒度が適切か | 無駄なコメント、説明不足に注意 | 🟩 低 |
| All | 可読性 | 理解しづらい命名になっていないか | 例:Reactでのイベントハンドラは handle<イベント名> を使用 |
🟨 中 |
| All | 設計準拠 | 設計書・仕様書に沿って実装されているか | 仕様変更がある場合は設計書の更新も必要 | 🟥 高 |
| All | パフォーマンス | 意味のないエラーハンドリング(catchして何もしない等)がないか | - | 🟥 高 |
| All | パフォーマンス | 不要なログ出力・consoleが残っていないか |
console.logやdebug出力が本番に残っていないか |
🟩 低 |
| FE | 安全性 | 画面はFigma等のモックを基に作成しているか | - | 🟥 高 |
| FE | 安全性 | セキュリティ情報を直接フロントエンドから送信していないか | SSRで非表示にする、 識別子のみ送信しデータ取得はBEで行うなど責務分離する |
🟥 高 |
| FE | 可読性・パフォーマンス | コンポーネント設計が適切か、共通化ができているか | 不要な再レンダリングが起きないよう注意 | 🟨 中 |
| BE | 安全性 | 環境変数の変更や追加がある場合、それを概要等で共有しているか | - | 🟥 高 |
| BE | 安全性 | CRUD操作時にトランザクション処理がされているか | 複数処理が一貫性を保って行われるか確認 | 🟥 高 |
| BE | パフォーマンス | ループ内でDBアクセスしていないか(N+1クエリの回避) | 1件ずつDBにアクセスせず、 JOINや includeなどで一括取得する。アクセス頻度が増えるとパフォーマンスが低下する |
🟥 高 |
📁 コードレビュー時に確認しておくべきドキュメント情報
こちらについても各プロジェクト・チームの状況や規模に応じて、
適宜観点を取捨選択・追加してご確認ください。
| 区分 | 観点 | レビュー内容 | 補足 | 優先度 |
|---|---|---|---|---|
| ドキュメント | 設計準拠 | SwaggerなどAPI設計書を更新しているか | - | 🟥 高 |
| ドキュメント | テスト準備 | 単体テスト仕様書は添付 or 格納されているか | - | 🟥 高 |
| ドキュメント | 設計準拠 | DB設計書は更新されているか | - | 🟥 高 |
| ドキュメント | タスク連携 | JIRA等でチケット管理している場合、適切にチケットを最新化しているか | - | 🟨 中 |
🔧 コードレビューの最適化について
以下のようなツールを用いることで、レビュー工数を最小限に抑えることが可能です。
📚 参考資料
🐤この記事を書いたきっかけ&まとめ
エンジニアとしてのキャリアを重ねる中で、コードレビューをする機会が増えてきました。
ふと振り返ってみると、「ちゃんとレビュー観点を整理したことってなかったな…」と気づき、今回まとめてみました。
もちろん、細かく出せばキリがないですが、
レビュー工数が開発工数を超えてしまっては本末転倒です。
プロジェクトやタスクの内容に応じて、どこまでの粒度でレビューを行うかを意識することが大切だと感じました。
他の記事と比べて特別目新しいことを書いているわけではありませんが、
自分なりに整理して言語化する中で、多くの気づきや学びがありました。
この記事が、皆さんのレビュー効率化や観点整理の一助になれば幸いです 🙌