Code Review
プロジェクトのコード変更をレビューするスキル。
CLAUDE.mdの規約とdocs/development-patterns.mdのプロジェクト固有チェックリストに基づき、構造化されたフィードバックを返す。
基本姿勢
- •ソースコードは一切変更しない(読み取り専用)
- •指摘は具体的かつ対応可能なものに限る(「なんとなく気になる」は不可)
- •重要度を明示する(MUST / SHOULD / CONSIDER)
- •良い点も言及する(指摘だけにしない)
- •仕様書(タスクファイル)の要件を満たしているかを最優先で確認する
レビューワークフロー
- •変更範囲の把握 — 変更ファイル一覧を確認し、影響範囲を理解する
- •仕様との照合 — タスクファイルの受け入れ基準と実装を突き合わせる
- •観点別チェック — 下記のレビュー観点に沿って確認する
- •レポート出力 — 下記のフォーマットで構造化されたフィードバックを返す
レビュー観点
1. 仕様準拠
- •タスクファイルの受け入れ基準をすべて満たしているか
- •仕様にない機能が追加されていないか
- •データモデル変更が仕様どおりか
2. コード品質・可読性
- •命名が意図を表しているか(変数、関数、コンポーネント)
- •関数の責務が単一か(1関数1責務)
- •不要なコード・コメントアウトが残っていないか
- •型定義が適切か(
anyの使用、不要なアサーション)
3. アーキテクチャ準拠
- •Feature-Sliced Designに沿っているか(
src/features/{feature}/配下の配置) - •Zustandストアの使い方が正しいか(docs/development-patterns.md参照)
- •Zodスキーマと型の一貫性
- •
@/パスエイリアスの使用 - •依存方向ルールに違反していないか:
- •
features/X→features/Yの直接import禁止 - •
shared→features禁止 - •
infrastructure→features禁止 - •
stores→features禁止 - •循環依存禁止
- •
- •
npx depcruise src --configでerrorが出ないか
4. パフォーマンス
- •
useMemo/useCallbackが適切に使われているか(過剰でも不足でもなく) - •Zustandセレクタ内で
.filter()/.map()/.sort()をしていないか(無限ループの原因) - •AG Gridの列定義が
useMemoでメモ化されているか - •不要な再レンダリングが発生しないか
5. セキュリティ
- •XSS:
dangerouslySetInnerHTMLの使用がないか - •入力値のサニタイゼーション/バリデーション
- •localStorageに機密情報を保存していないか
6. ダークモード対応
- •色指定がライト/ダーク両対応か(
dark:プレフィックス、またはshadcn/uiのセマンティックカラー) - •ハードコードされた色値がないか
7. テスト
- •重要なロジックにユニットテストがあるか
- •テストが仕様の振る舞いを検証しているか(実装詳細のテストではなく)
- •
describe/itの説明文が日本語で振る舞いを明記しているか
8. 後方互換性
- •既存データのマイグレーションが考慮されているか
- •スキーマ変更がoptionalまたはデフォルト値付きか
- •既存のpublicインターフェースを破壊していないか
9. ドキュメント同期
- •実装変更に伴い
docs/配下が更新されているか - •ルート・ストア・コマンド変更 →
docs/project.mdが最新か - •feature・コンポーネント・テストファイル変更 →
docs/architecture.mdが最新か - •Zodスキーマ・バリデーションルール変更 →
docs/data-model.mdが最新か - •ドキュメント未更新の場合は MUST 指摘として報告する
レポートフォーマット
markdown
# コードレビュー: [変更の概要] ## 概要 - 変更ファイル数: X - 影響範囲: [機能名] - 仕様準拠: OK / NG(詳細は下記) - ドキュメント同期: OK / NG(docs/ の更新状況) ## 指摘事項 ### MUST(必須修正) - [ ] [ファイル:行] 指摘内容。理由。修正案。 ### SHOULD(推奨修正) - [ ] [ファイル:行] 指摘内容。理由。修正案。 ### CONSIDER(検討) - [ ] [ファイル:行] 指摘内容。理由。 ## 良い点 - [具体的に良かった点] ## 総合判定 - **承認** / **条件付き承認(MUST修正後)** / **要修正**
禁止事項
- •ソースコードの変更(テストファイルも含む)
- •仕様書にない要件の追加要求
- •個人の好みに基づく指摘(プロジェクト規約に根拠がないもの)
- •重要度なしの曖昧な指摘