代码审查专家 code-review

代码审查专家技能提供专业的代码质量评估、安全漏洞检测和可维护性分析服务。该技能能够自动审查代码变更,识别潜在的安全风险、性能问题和代码质量问题,并提供按优先级排序的改进建议。适用于软件开发团队在代码提交、合并前进行质量把关,确保代码符合最佳实践和安全标准。 关键词:代码审查, 安全审计, 代码质量, 漏洞检测, 性能优化, 代码规范, 开发标准, 代码分析, 编程规范, 软件质量

测试 0 次安装 0 次浏览 更新于 2/28/2026

name: code-review description: 专注于代码质量、安全性和可维护性的专家级代码审查专家。用于审查代码变更、确保高开发标准或进行安全审计。提供按优先级组织的可操作反馈。 author: Joseph OBrien status: unpublished updated: ‘2025-12-23’ version: 1.0.1 tag: skill type: skill

代码审查

此技能提供专家级的代码审查能力,重点关注代码质量、安全漏洞和可维护性。它分析代码变更并提供按优先级排序的可操作反馈。

何时使用此技能

  • 编写或修改代码后,以确保质量标准
  • 合并拉取请求或部署变更之前
  • 进行安全审计或漏洞评估时
  • 为项目建立代码质量标准时
  • 审查代码以进行性能优化时
  • 确保代码遵循项目约定和最佳实践时

此技能的功能

  1. 分析代码变更:审查git差异和修改的文件以了解变更内容
  2. 安全审计:识别暴露的密钥、API密钥和安全漏洞
  3. 质量评估:评估代码可读性、可维护性和最佳实践
  4. 性能审查:识别潜在性能问题和优化机会
  5. 标准合规性:确保代码遵循项目约定和风格指南
  6. 优先级反馈:按严重性组织发现的问题(关键、警告、建议)

使用方法

基本代码审查

审查此分支中的最近代码变更
检查此文件的安全问题和代码质量

审查特定文件

审查src/auth.js中的安全漏洞
审查此拉取请求中的变更

审查流程

1. 分析变更

调用时:

  1. 获取最近变更:运行git diff查看变更内容

    git diff $(git merge-base HEAD main)..HEAD
    
  2. 关注修改的文件:优先处理实际发生变化的文件

  3. 审查上下文:从提交消息或对话中理解变更目的

2. 审查清单

对每个文件检查:

代码质量:

  • 代码简洁易读
  • 函数和变量命名恰当
  • 无重复代码
  • 适当的错误处理
  • 良好的测试覆盖率
  • 已考虑性能因素

安全性:

  • 无暴露的密钥或API密钥
  • 已实施输入验证
  • 适当的身份验证/授权
  • 用户输入的安全处理
  • 无SQL注入或XSS漏洞

可维护性:

  • 一致的代码风格
  • 适当的注释(不过度)
  • 清晰的函数/方法结构
  • 适当的关注点分离
  • 无不必要的复杂性

最佳实践:

  • 遵循框架/库约定
  • 正确使用设计模式
  • 高效的算法和数据结构
  • 适当使用async/await或promises
  • 适当的资源清理

3. 组织反馈

按三个优先级级别提供反馈:

关键问题(必须修复):

  • 安全漏洞
  • 会导致故障的错误
  • 破坏现有功能的代码
  • 会影响用户的性能问题

警告(应该修复):

  • 影响可维护性的代码质量问题
  • 潜在错误或边界情况
  • 性能优化
  • 缺少错误处理
  • 不完整的测试覆盖率

建议(考虑改进):

  • 代码风格改进
  • 重构机会
  • 文档增强
  • 最佳实践建议
  • 次要优化

4. 提供具体示例

对每个发现的问题:

  • 位置:文件路径和行号
  • 问题:问题的清晰描述
  • 影响:为什么这很重要
  • 修复:显示如何修复的具体代码示例
  • 理由:解释为什么修复更好

示例

示例1:发现安全问题

输入:审查src/api/auth.js

输出

## 代码审查:src/api/auth.js

### 关键问题

**1. 暴露的API密钥**
- **位置**:`src/api/auth.js:23`
- **问题**:源代码中硬编码的API密钥
- **代码**:
  ```javascript
  const API_KEY = "sk_live_1234567890abcdef"; // ❌ 暴露的密钥
  • 修复:使用环境变量

    const API_KEY = process.env.API_KEY; // ✅ 安全
    
  • 影响:这会在版本控制中暴露您的API密钥,允许未经授权的访问

警告

2. 缺少输入验证

  • 位置src/api/auth.js:45
  • 问题:处理前未对用户输入进行验证
  • 建议:在身份验证前添加输入验证

示例2:代码质量审查

输入:审查最近变更

输出

## 代码审查摘要

**审查文件**:5
**关键问题**:0
**警告**:3
**建议**:5

### 警告

**1. 重复代码**
- **文件**:`src/utils/format.js:12-25`和`src/utils/display.js:8-21`
- **问题**:相同的格式化逻辑重复
- **修复**:提取到共享实用函数

**2. 缺少错误处理**
- **位置**:`src/api/users.js:34`
- **问题**:异步操作没有try/catch
- **修复**:添加适当的错误处理

### 建议

**1. 改进变量命名**
- **位置**:`src/components/List.jsx:15`
- **当前**:`const d = data.map(...)`
- **建议**:`const formattedItems = data.map(...)`

参考文件

如需全面审查清单,请根据需要加载参考文件:

  • references/review_checklist.md - 安全、代码质量、性能、测试、文档和最佳实践的详细清单
  • references/CODE_ANALYSIS.template.md - 包含安全、性能和可维护性部分的代码分析报告模板

进行彻底审查时,加载references/review_checklist.md并使用适当的清单部分。

最佳实践

审查重点领域

  1. 安全第一:始终首先检查安全漏洞
  2. 上下文重要:在审查前理解变更目的
  3. 建设性:提供可操作的反馈,不仅仅是批评
  4. 优先级:关注必须修复的关键问题
  5. 解释原因:帮助开发人员理解建议背后的理由

审查指南

  • 具体:指向确切行并提供代码示例
  • 平衡:承认好代码的同时指出问题
  • 实用:考虑变更的上下文和紧急性
  • 教育性:帮助开发人员学习和改进
  • 一致:对所有审查应用相同标准

常见检查模式

安全性:

  • 硬编码的密钥或凭据
  • SQL注入漏洞
  • XSS漏洞
  • 缺少身份验证/授权
  • 不安全的随机数生成

代码质量:

  • 代码重复
  • 没有常量的魔法数字
  • 深度嵌套的条件语句
  • 功能过多的函数
  • 错误消息不佳

性能:

  • N+1查询问题
  • 缺少索引
  • 低效算法
  • 不必要的重新渲染(React)
  • 内存泄漏

相关用例

  • 提交前代码审查
  • 拉取请求审查
  • 安全审计
  • 代码质量评估
  • 新团队成员入职
  • 建立编码标准