Skills: コードレビュースキル

最終更新:2026-08-31

コードレビューは品質の最前線——優れたレビュー Skill は、チームに疲れを知らないシニアレビューアーを加えるようなものです。


1. レビュー観点の設計

(1) コアレビュー観点

観点 チェック項目 深刻度
セキュリティ SQL インジェクション、XSS、ハードコーディングされたキー、安全でない依存関係 🔴 深刻
パフォーマンス N+1 クエリ、メモリリーク、不要なループ 🟡 重要
可読性 命名規約、関数の長さ、コメントの十分性 🟢 提案
ベストプラクティス エラーハンドリング、SOLID 原則、DRY 🟡 重要
テストカバレッジ ユニットテスト、境界条件、エラーパス 🟡 重要

(2) 言語固有の観点

MARKDOWN
## Python 追加チェック
- type hints の完全性
- docstring フォーマット(Google/NumPy スタイル)
- f-string vs format/結合
- 例外キャッチのスコープ(bare except の回避)

## TypeScript 追加チェック
- any 型の使用
- 型アサーションの妥当性
- インターフェース定義の完全性
- オプショナルプロパティのアノテーション

2. レビューフローの設計

(1) 標準フロー

TEXT 📖 参照専用
コードレビューフロー
├── 1. 変更の収集
│   ├── git diff の読み込み(変更ファイルリスト)
│   └── レビュー範囲の特定
├── 2. ファイルごとのレビュー
│   ├── ファイルの読み込み
│   ├── Grep で関連コンテキストを検索
│   └── 観点ごとにチェック
├── 3. レポート出力
│   ├── 深刻度順にソート
│   ├── 具体的な修正提案を提示
│   └── コードサンプルを含める
└── 4. 総合評価
    ├── 総合スコア
    └── マージ推奨判定

(2) 差分レビューと全体レビュー

タイプ 範囲 使用例
差分レビュー 変更部分のみ PR/MR レビュー
全体レビュー モジュール全体 新メンバーのコードレビュー、リファクタリング後の検証

3. レビューレポートのフォーマット

(1) 標準出力テンプレート

MARKDOWN
## コードレビューレポート

### 📊 概要
- レビュー対象ファイル数:3
- 発見された問題:5(🔴 1 / 🟡 2 / 🟢 2)
- 総合スコア:7/10
- 推奨:⚠️ 深刻な問題を修正後にマージ

### 🔴 深刻な問題

**[SEC-001] SQL インジェクションリスク**
📍 場所:src/auth/login.py:42
📝 文字列結合で SQL クエリを構築している
✅ 提案:
```python
query = "SELECT * FROM users WHERE name = ?"
cursor.execute(query, (username,))

🟡 重要な問題

...

🟢 改善提案

...


### (2) スコアリングシステム

```text
スコアリングルール:
- 🔴 深刻な問題:各 -3 点
- 🟡 重要な問題:各 -1 点
- 🟢 提案:各 -0.5 点
- 基礎スコア:10 点
- 最低スコア:0 点

マージ推奨:
- 8 点以上:✅ マージ推奨
- 5〜7 点:⚠️ 修正後にマージ
- 5 点未満:❌ マージ非推奨

4. レビュー Skill の実践

▶ 例:全観点レビュー Skill

Alice はチームのために標準化されたレビュー Skill を作成しました:

YAML
---
name: full-review
description: "全観点コードレビュー"
triggers:
  - keyword: "full-review"
tools:
  - Read
  - Grep
  - Glob
  - Bash
---
MARKDOWN
## レビューフロー

1. Glob でレビュー対象ファイル範囲を特定
2. 各ファイルについて観点ごとにチェック:
   - セキュリティ:Grep で危険なパターンを検索
   - パフォーマンス:Read でアルゴリズムの複雑さを分析
   - 可読性:命名と構造をチェック
   - テスト:テストカバレッジを確認
3. 集約してレビューレポートを出力

Bob は評価しています:「標準化されたレポートのおかげで、レビュー結果が一目で分かる——赤信号は必ず修正、黄信号は状況次第、緑信号はボーナス。」


❓ よくある質問

Q 厳格すぎるレビューは開発スピードを低下させませんか?
A はい。2段階にすることをお勧めします——PR レビューはセキュリティと主要ロジックのみチェックし、定期的な全体レビューですべての観点をカバーします。
Q AI レビューは人間のレビューに代わりますか?
A 完全には代わりません。AI はパターンマッチングとセキュリティスキャンに優れ、人間はアーキテクチャレビューとビジネスロジックの判断に優れています。両者は補完関係にあります。
Q レビューレポートが長くなりすぎるのを防ぐには?
A 深刻度フィルタリングを設定し、デフォルトでは 🟡 以上の問題のみ出力するようにします。🟢 提案はオプション出力にします。

📖 まとめ


📝 練習問題

  1. 基礎問題(難易度⭐):SQL インジェクション、XSS、ハードコーディングされたキーのみをチェックするセキュリティレビュー Skill を作成してください。
  2. 応用問題(難易度⭐⭐):スコアリングとマージ推奨を含む標準レビューレポートを出力する全観点レビュー Skill を作成してください。
  3. チャレンジ問題(難易度⭐⭐⭐):git diff の変更部分のみをレビューし、言語に応じて自動的にレビュー観点を調整する差分レビュー Skill を作成してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%