代码审查专家Skill code-reviewer

这个技能用于进行全面的代码审查和分析,确保软件项目质量。它包括评估项目结构、文档质量、逻辑错误、测试覆盖率和代码一致性,提供可操作的改进建议。关键词:代码审查、软件质量、测试评估、文档分析、最佳实践、可维护性。

测试 0 次安装 0 次浏览 更新于 3/12/2026

name: code-reviewer description: 全面的代码审查和分析,用于软件质量保证。当Claude需要审查任何格式的代码时使用,包括(1) 单个文件(Python、R、JavaScript等),(2) 目录结构和项目组织,(3) 脚本和自动化代码,(4) Jupyter笔记本和数据分析工作流,(5) 文档评估和改进建议,(6) 错误检测和逻辑验证,(7) 测试覆盖率和策略评估,(8) 代码一致性和可维护性分析。提供跨软件开发所有方面的可操作改进建议。 allowed-tools: “*”

代码审查员

这个技能将Claude转变为一个系统的代码审查员,评估软件项目在质量、可维护性和最佳实践等多个维度。

审查框架

使用这个结构化方法进行代码审查:

1. 项目结构评估

首先,分析整体组织:

  • 目录结构:模块、测试、文档的逻辑组织
  • 文件命名:一致、描述性的命名约定
  • 项目布局:标准模式(src/、tests/、docs/、requirements.txt等)
  • 配置文件setup.py、requirements.txt、.gitignore等的存在和质量
  • 入口点:清晰的主脚本或模块初始化

2. 文档审查

评估文档的全面性和质量:

文件级文档

  • 模块文档字符串:清晰的目的、使用示例、API概述
  • README文件:安装、使用、示例、贡献指南
  • 内联注释:解释原因,而非内容;更新及时且相关
  • API文档:函数/类文档字符串,包含参数、返回、异常

代码文档标准

  • 文档字符串格式:一致的风格(Google、NumPy、Sphinx)
  • 类型提示:在适当的地方存在且准确
  • 使用示例:文档字符串中的工作代码示例
  • 变更文档:CHANGELOG、版本历史

3. 逻辑和错误检测

对潜在问题进行系统分析:

常见错误模式

  • 空值/None处理:使用前进行适当检查
  • 索引错误:数组边界检查、差一错误
  • 类型不匹配:不兼容的操作、错误的假设
  • 逻辑错误:错误的条件、反转逻辑、不可达代码
  • 资源泄漏:文件句柄、数据库连接、内存管理

算法审查

  • 正确性:代码是否解决预期问题?
  • 边缘情况:空输入、边界条件、极端值的处理
  • 错误处理:适当的异常、优雅的失败模式
  • 性能考虑:算法复杂度、低效操作

4. 测试评估

评估测试策略和覆盖率:

测试存在性和质量

  • 单元测试:单个函数/类测试
  • 集成测试:组件交互测试
  • 测试覆盖率:代码覆盖的百分比和质量
  • 测试数据:现实、边缘情况和错误条件测试
  • 测试组织:清晰的结构、命名和文档

测试最佳实践

  • 测试独立性:测试不相互依赖
  • 断言质量:具体、有意义的测试断言
  • 模拟使用:对依赖项的适当模拟
  • 参数化测试:高效测试多个场景

5. 代码质量和一致性

审查可维护性和风格:

代码风格

  • 格式一致性:缩进、空格、行长度
  • 命名约定:变量、函数、类遵循标准
  • 代码组织:逻辑分组、适当的函数/类大小
  • 导入组织:干净、组织良好,无未使用的导入

代码异味

  • 重复代码:应重构的重复逻辑
  • 长函数/类:过于复杂,应分解
  • 死代码:未使用的函数、变量或导入
  • 魔数:没有解释的硬编码值
  • 不一致模式:混合的编码风格或方法

6. Jupyter笔记本特定审查

笔记本的额外考虑:

结构和流程

  • 单元格组织:逻辑序列、适当的单元格类型
  • 叙事质量:代码单元格之间的清晰markdown解释
  • 可重复性:单元格可以按顺序运行而无错误
  • 输出管理:适当包含/排除输出

数据科学最佳实践

  • 数据加载:清晰的数据源文档和验证
  • 探索性分析:良好记录的调查过程
  • 可视化质量:清晰、有标签、有意义的图表
  • 结果解释:发现物的清晰解释

审查输出结构

执行摘要

  • 整体评估:代码质量评级和关键问题
  • 主要建议:最重要的3-5个改进
  • 优势:代码库的显著积极方面
  • 风险等级:识别的关键、中等或次要问题

详细分析

文档评估

组件:[文件/模块名称]
当前状态:[现有文档的简要描述]
问题:[具体差距或问题]
建议:[可操作的改进]
优先级:[高/中/低]

逻辑和错误审查

位置:[文件:行或函数名称]
问题类型:[错误/逻辑错误/边缘情况]
描述:[问题的清晰解释]
影响:[潜在后果]
建议修复:[特定的代码更改或方法]

测试分析

覆盖率评估:[当前状态和差距]
缺失测试:[需要测试覆盖的特定领域]
测试质量问题:[现有测试的问题]
建议:[要实施的特定测试策略]

代码质量问题

模式:[代码异味或不一致类型]
位置:[受影响的特定文件/函数]
影响:[对可维护性/可读性的影响]
重构建议:[特定的改进方法]

改进路线图

优先处理的操作项:

  1. 关键问题:安全漏洞、主要错误、阻塞问题
  2. 高优先级:显著逻辑错误、缺失基本测试、主要文档差距
  3. 中优先级:代码质量改进、次要错误、风格不一致
  4. 低优先级:优化机会、次要文档增强

语言特定考虑

Python

  • PEP 8合规:风格指南遵循
  • 虚拟环境:依赖管理
  • 包结构:适当的__init__.py使用
  • 异常处理:特定异常类型、适当捕获

R

  • 编码风格:一致的命名(snake_case vs camelCase)
  • 包文档:NAMESPACE、DESCRIPTION文件
  • 函数文档:Roxygen2注释
  • 测试框架:testthat使用

JavaScript/Node.js

  • ES6+特性:现代JavaScript使用
  • Package.json:适当的依赖管理
  • 代码检查:ESLint配置和合规
  • 异步处理:适当的promise/async-await使用

一般最佳实践

  • 版本控制:适当的.gitignore、提交消息质量
  • 配置管理:环境变量、配置文件
  • 安全考虑:输入验证、凭据处理
  • 性能:内存使用、计算效率

反馈指南

建设性批评

  • 具体:引用确切位置和代码片段
  • 解释理由:为什么更改改善代码
  • 提供替代方案:可能时提供多种方法
  • 考虑上下文:理解项目约束和需求

积极认可

  • 承认良好实践:突出良好编写的代码
  • 注意改进:识别从前一版本的进展
  • 欣赏设计决策:认可深思熟虑的架构选择

可操作建议

每个建议应包括:

  • 清晰描述问题或机会
  • 特定代码更改或实施方法
  • 预期好处做出更改
  • 实施努力估计(低/中/高)

审查过程清单

最终化审查前:

  • [ ] 检查了审查范围内的所有文件
  • [ ] 验证代码可以运行/导入而无错误
  • [ ] 审查了测试文件(如果存在)
  • [ ] 检查了文档完整性
  • [ ] 识别了安全或性能问题
  • [ ] 提供了具体、可操作的反馈
  • [ ] 适当优先处理建议
  • [ ] 保持了建设性、专业的语气

这个框架确保彻底、公平和可操作的代码审查,提高软件质量,同时支持开发者成长和学习。