code-review-pro

code-review-pro

热门

全面的代码审查,涵盖安全漏洞、性能瓶颈、最佳实践和重构机会。当用户请求代码审查、安全审计或性能分析时使用。

234Star
38Fork
更新于 2026/7/15
SKILL.md
只读
名称
code-review-pro
描述

全面的代码审查,涵盖安全漏洞、性能瓶颈、最佳实践和重构机会。当用户请求代码审查、安全审计或性能分析时使用。

Code Review Pro

深度代码分析,涵盖安全性、性能、可维护性和最佳实践。

何时使用此技能

当用户出现以下情况时激活:

  • 要求进行代码审查
  • 想要安全漏洞扫描
  • 需要性能分析
  • 要求“审查此代码”或“审计此代码”
  • 提到查找错误或改进
  • 想要重构建议
  • 请求最佳实践验证

说明

  1. 安全分析(关键优先级)

    • SQL注入漏洞
    • XSS(跨站脚本)风险
    • 身份验证/授权问题
    • 代码中的机密或凭据
    • 不安全的反序列化
    • 路径遍历漏洞
    • CSRF防护
    • 输入验证缺口
    • 不安全的加密
    • 依赖漏洞
  2. 性能分析

    • N+1查询问题
    • 低效算法(检查Big O复杂度)
    • 内存泄漏
    • 不必要的重新渲染(React/Vue)
    • 缺少索引(数据库查询)
    • 阻塞操作
    • 资源清理(文件句柄、连接)
    • 缓存机会
    • 过多的网络调用
    • 大型包体积
  3. 代码质量与可维护性

    • 代码重复(DRY违规)
    • 函数/方法长度(应小于50行)
    • 圈复杂度
    • 命名不清晰
    • 缺少错误处理
    • 风格不一致
    • 缺少文档
    • 硬编码值应改为常量
    • 上帝类/函数
    • 紧耦合
  4. 最佳实践

    • 语言特定习惯用法
    • 框架约定
    • SOLID原则
    • 设计模式的使用
    • 测试方法
    • 日志记录和监控
    • 可访问性(针对UI代码)
    • 类型安全
    • 空值/未定义处理
  5. 错误和边界情况

    • 逻辑错误
    • 差一错误
    • 竞态条件
    • 空指针异常
    • 未处理的边界情况
    • 时区问题
    • 编码问题
    • 浮点精度
  6. 提供可操作的修复

    • 显示具体的代码更改
    • 解释为什么需要更改
    • 包含前后示例
    • 按严重性排序

输出格式

# 代码审查报告

## 关键问题(立即修复)
### 1. SQL注入漏洞(第X行)
**严重性**:关键
**问题**:用户输入直接拼接到SQL查询中
**影响**:数据库泄露、数据窃取

**当前代码:**
```javascript
const query = `SELECT * FROM users WHERE email = '${userEmail}'`;

修复代码:

const query = 'SELECT * FROM users WHERE email = ?';
db.query(query, [userEmail]);

解释:始终使用参数化查询以防止SQL注入。

高优先级问题

2. 性能:N+1查询问题(第Y行)

[详情...]

中优先级问题

3. 代码质量:函数过长(第Z行)

[详情...]

低优先级/锦上添花

4. 考虑使用const代替let

[详情...]

总结

  • 总问题数:12
    • 关键:2
    • 高:4
    • 中:4
    • 低:2

快速胜利

高影响低努力的变化:

  1. [修复1]
  2. [修复2]

优点

  • 在X处错误处理良好
  • 命名约定清晰
  • 模块结构良好

重构机会

  1. 提取方法:第X-Y行可以提取为calculateDiscount()
  2. 消除重复:[具体代码块]

资源


### 示例

**用户**:“审查此身份验证代码”
**响应**:分析认证逻辑 → 识别安全问题(弱密码哈希、无速率限制)→ 检查令牌处理 → 注意缺少CSRF防护 → 提供具体修复和代码示例 → 按严重性排序

**用户**:“你能在这个React组件中找到性能问题吗?”
**响应**:分析组件 → 识别不必要的重新渲染 → 发现缺少useMemo/useCallback → 注意大型状态对象 → 检查渲染中的昂贵操作 → 提供优化版本并解释

**用户**:“审查此API端点”
**响应**:检查输入验证 → 分析错误处理 → 测试SQL注入 → 审查身份验证 → 检查速率限制 → 检查响应结构 → 提出改进建议并附代码示例

### 最佳实践

- 始终优先处理安全问题
- 为问题提供具体的行号
- 包含前后代码示例
- 解释*为什么*某件事是问题
- 考虑语言/框架上下文
- 不要只批评——也要认可好的代码
- 对于大型重构建议渐进式改进
- 为建议链接到文档
- 考虑项目约束(遗留代码、截止日期)
- 在完美主义和务实之间取得平衡
- 专注于有影响力的更改
- 将类似问题分组
- 使建议可操作