Skip to content

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

セキュリティ・チェックリスト

  • ハードコードされた認証情報や秘密情報がない
  • すべてのユーザー入力に対する入力検証
  • SQL インジェクション対策(パラメータ化クエリ)
  • 状態を変更する操作への CSRF 対策
  • 適切なエスケープによる XSS 対策
  • 保護されたエンドポイントでの認証チェック
  • リソースに対する認可チェック
  • 安全なパスワードハッシュ化(bcrypt、argon2)
  • ログに機密データを含めない
  • HTTPS の強制

パフォーマンス・チェックリスト

  • N+1 クエリがない
  • インデックスの適切な利用
  • 効果的な箇所でのキャッシュ実装
  • メインスレッドでのブロッキング操作がない
  • async/await の正しい使用
  • 大規模データセットのページネーション
  • データベースコネクションプーリング
  • 正規表現の最適化
  • 不要なオブジェクト生成がない
  • メモリリーク対策

品質チェックリスト

  • 関数が 50 行未満
  • 明確な変数命名
  • 重複コードがない
  • 適切なエラーハンドリング
  • コメントは「何を」ではなく「なぜ」を説明
  • 本番環境に console.log がない
  • 型チェック(TypeScript/JSDoc)
  • SOLID 原則の遵守
  • デザインパターンの正しい適用
  • 自己説明的なコード

テスト・チェックリスト

  • ユニットテストの記述
  • エッジケースの網羅
  • エラーシナリオのテスト
  • 統合テストの存在
  • カバレッジが 80% 以上
  • flaky テストがない
  • 外部依存のモック化
  • 明確なテスト名