← ClaudeAtlas

code-reviewlisted

【代码审查】对代码变更进行多维度审查,输出结构化审查报告。检查正确性、安全性、性能、可维护性、测试覆盖。 触发时机: - 用户要求"review代码"、"审查代码"、"检查代码质量" - PR 提交前的代码自查 - 学习代码审查方法论 与 wo-yao-yan-pai 的区别:wo-yao-yan-pai 是迭代式审查+自动修复循环,本技能专注于单次深度审查报告。
afine907/skills · ★ 0 · Code & Development · score 75
Install: claude install-skill afine907/skills
# Code Review — 代码审查技能 对代码进行系统性多维度审查,输出结构化审查报告。 ## Goal 对代码变更进行多维度审查,输出结构化审查报告。检查正确性、安全性、性能、可维护性、测试覆盖 ## Trigger - 用户要求"review代码"、"审查代码"、"检查代码质量" - PR 提交前的代码自查 - 学习代码审查方法论 ## 工作流程 ``` 代码变更 → 维度分析 → 问题标注 → 严重性分级 → 输出报告 ``` ## 审查维度 ### 1. 正确性 (Correctness) | 检查项 | 说明 | |--------|------| | 逻辑错误 | 条件判断、循环边界、短路求值 | | 空值处理 | None/null 检查、Optional 解包 | | 类型安全 | 隐式类型转换、类型混用 | | 并发安全 | 竞态条件、死锁、线程安全 | | 错误处理 | 异常捕获范围、错误传播、资源清理 | ### 2. 安全性 (Security) | 检查项 | 说明 | |--------|------| | 注入攻击 | SQL、XSS、命令注入、路径遍历 | | 认证授权 | 权限检查缺失、越权访问 | | 敏感数据 | 密钥硬编码、日志泄露、明文存储 | | 输入验证 | 信任外部输入、未校验边界 | | 依赖安全 | 已知漏洞的依赖版本 | ### 3. 性能 (Performance) | 检查项 | 说明 | |--------|------| | 算法复杂度 | O(n²) 或更高的循环嵌套 | | N+1 查询 | 循环中的数据库/HTTP 调用 | | 内存使用 | 大对象复制、未释放资源 | | 缓存利用 | 重复计算、可缓存的查询 | | 异步优化 | 可并行的串行操作 | ### 4. 可维护性 (Maintainability) | 检查项 | 说明 | |--------|------| | 命名清晰 | 变量/函数名是否自解释 | | 函数长度 | 单函数超过50行需拆分 | | 重复代码 | 可提取为公共函数的重复逻辑 | | 职责单一 | 一个函数/类做太多事情 | | 魔法数字 | 硬编码的常量应提取为命名常量 | ### 5. 测试覆盖 (Testing) | 检查项 | 说明 | |--------|------| | 测试存在 | 新增代码是否有对应测试 | | 边界覆盖 | 测试是否覆盖边界条件 | | 异常覆盖 | 测试是否覆盖错误路径 | | 可测试性 | 代码是否便于测试(依赖注入等) | ## 输出报告格式 ```markdown # 代码审查报告 ## 概览 - 审查文件:{文件列表} - 审查时间:{时间} - 总体评级:{A/B/C/D} ## 统计 | 严重性 | 数量 | |--------|------| | 🔴 Critical | {n} | | 🟠 Major | {n} | | 🟡 Minor | {n} | | 🔵 Suggestion | {n} | ## 问题详情 ### 🔴 [Critical] {问题标题} - **文件**: `{file}:{line}` - **维度**: 安全