mcpField
C
code-review-checklist

code-review-checklist

github.com/vudovnテスト・品質8.2k322 回インストール9 週間前に更新
リポジトリ

code-review-checklist について

開発者やレビュアー向けのコードレビュー用チェックリストスキルです。正確性、安全性、性能、テスト、ドキュメントに加え、AI生成コードの確認パターンやコメント分類も扱います。

主な機能

  1. 01正確性と境界条件の確認
  2. 02安全性と性能の確認
  3. 03テストとドキュメントの確認
  4. 04AIとプロンプトのレビュー形式
  5. 05レビューコメントの重要度ガイド

活用シーン

  1. 01マージ前の変更レビュー
  2. 02AI生成コードのリスク確認
  3. 03実行可能なレビューコメントの整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vudovn/ag-kit --skill code-review-checklist

インストール後、Claude Code で/code-review-checklistを入力して読み込まれたか確認します。

詳細

コードレビューのチェックリスト

クイックレビューチェックリスト

正確性
  • コードが期待どおりに動作する
  • エッジケースが処理されている
  • エラー処理が実装されている
  • 明らかなバグがない
セキュリティ
  • 入力が検証され、サニタイズされている
  • SQL/NoSQL インジェクションの脆弱性がない
  • XSS または CSRF の脆弱性がない
  • シークレットや機密性の高い認証情報がハードコードされていない
  • AI 固有:(該当する場合)プロンプトインジェクションへの対策がある
  • **AI 固有:**重要なシンクで使用する前に、出力がサニタイズされている
パフォーマンス
  • N+1 クエリがない
  • 不要なループがない
  • 適切なキャッシュが設定されている
  • バンドルサイズへの影響が考慮されている
コード品質
  • わかりやすい命名になっている
  • DRY:重複コードがない
  • SOLID 原則に従っている
  • 適切な抽象化レベルになっている
テスト
  • 新しいコードの単体テストがある
  • エッジケースがテストされている
  • テストが読みやすく、保守しやすい
ドキュメント
  • 複雑なロジックにコメントがある
  • 公開 API がドキュメント化されている
  • 必要に応じて README が更新されている

AI と LLM のレビューパターン

ロジックとハルシネーション
  • **思考の連鎖:**ロジックが検証可能な手順に沿っているか?
  • **エッジケース:**空の状態、タイムアウト、部分的な障害を AI が考慮しているか?
  • **外部状態:**ファイルシステムやネットワークについて、安全な前提に基づいてコードが作成されているか?
プロンプトエンジニアリングのレビュー
// ❌ Vague prompt in code
const response = await ai.generate(userInput);

// ✅ Structured & Safe prompt
const response = await ai.generate({
  system: "You are a specialized parser...",
  input: sanitize(userInput),
  schema: ResponseSchema
});

指摘すべきアンチパターン

// ❌ Magic numbers
if (status === 3) { ... }

// ✅ Named constants
if (status === Status.ACTIVE) { ... }

// ❌ Deep nesting
if (a) { if (b) { if (c) { ... } } }

// ✅ Early returns
if (!a) return;
if (!b) return;
if (!c) return;
// do work

// ❌ Long functions (100+ lines)
// ✅ Small, focused functions

// ❌ any type
const data: any = ...

// ✅ Proper types
const data: UserData = ...

レビューコメントのガイド

// Blocking issues use 🔴
🔴 BLOCKING: SQL injection vulnerability here

// Important suggestions use 🟡
🟡 SUGGESTION: Consider using useMemo for performance

// Minor nits use 🟢
🟢 NIT: Prefer const over let for immutable variable

// Questions use ❓
❓ QUESTION: What happens if user is null here?

コメント