mcpField
C
code-review

code-review

github.com/moizibnyousaf测试与质量1.2k961 次安装5 周前更新
代码仓库

关于 code-review

Code Review 是一项用于检查代码安全性、性能、质量和测试的审查技能。它提供常见问题清单,并以结构化格式报告严重问题和改进建议。

主要功能

  1. 01检查常见安全漏洞
  2. 02识别性能问题
  3. 03评估代码质量与错误处理
  4. 04审查测试覆盖率和可靠性
  5. 05按严重程度报告问题并给出修复建议

适用场景

  1. 01合并前审查代码变更
  2. 02查找代码中的安全问题
  3. 03检查新代码的测试与性能缺口

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/moizibnyousaf/ai-agent-skills --skill code-review

安装后在 Claude Code 中输入/code-review确认已加载。

详细介绍

代码审查

审查类别

1. 安全审查

检查以下问题:

  • SQL 注入漏洞
  • XSS(跨站脚本)
  • 命令注入
  • 不安全的反序列化
  • 硬编码的密钥/凭据
  • 身份验证/授权不当
  • 不安全的直接对象引用
2. 性能审查

检查以下问题:

  • N+1 查询
  • 缺少数据库索引
  • 不必要的重新渲染(React)
  • 内存泄漏
  • 异步代码中的阻塞操作
  • 可利用但未利用的缓存机会
  • 打包体积过大
3. 代码质量审查

检查以下问题:

  • 代码重复(违反 DRY 原则)
  • 函数职责过多(违反 SRP 原则)
  • 嵌套过深 / 条件判断过于复杂
  • 魔法数字/字符串
  • 命名不佳
  • 缺少错误处理
  • 类型覆盖不完整
4. 测试审查

检查以下问题:

  • 新代码缺少测试覆盖
  • 测试未验证行为
  • 不稳定的测试模式
  • 缺少边界情况测试
  • 外部依赖被模拟

审查输出格式

## Code Review Summary

### 🔴 Critical (Must Fix)
- **[File:Line]** [Issue description]
  - **Why:** [Explanation]
  - **Fix:** [Suggested fix]

### 🟡 Suggestions (Should Consider)
- **[File:Line]** [Issue description]
  - **Why:** [Explanation]
  - **Fix:** [Suggested fix]

### 🟢 Nits (Optional)
- **[File:Line]** [Minor suggestion]

### ✅ What's Good
- [Positive feedback on good patterns]

常见问题模式

安全
// BAD: SQL injection
const query = `SELECT * FROM users WHERE id = ${userId}`;

// GOOD: Parameterized query
const query = 'SELECT * FROM users WHERE id = $1';
await db.query(query, [userId]);
性能
// BAD: N+1 query
users.forEach(async user => {
  const posts = await getPosts(user.id);
});

// GOOD: Batch query
const userIds = users.map(u => u.id);
const posts = await getPostsForUsers(userIds);
错误处理
// BAD: Swallowing errors
try {
  await riskyOperation();
} catch (e) {}

// GOOD: Handle or propagate
try {
  await riskyOperation();
} catch (e) {
  logger.error('Operation failed', { error: e });
  throw new AppError('Operation failed', { cause: e });
}

审查清单

  • 没有硬编码的密钥
  • 已进行输入验证
  • 错误处理完整
  • 已定义类型/接口
  • 已为新代码添加测试
  • 没有明显的性能问题
  • 代码易于阅读且有文档说明
  • 已记录破坏性变更

评论

支持 Markdown