AgentSkillsCN

code-review

系统性地进行代码审查,关注代码质量、安全性、可维护性等方面

中文原作
SKILL.md
--- frontmatter
name: code-review
description: 系统性地进行代码审查,关注代码质量、安全性、可维护性等方面

代码审查技能

概述

代码审查是保证代码质量的重要环节。本技能提供系统化的审查方法和检查清单。

启用时机: 审查 PR 或检查代码质量时

声明: "我正在使用 code-review 技能来进行代码审查"

审查维度

1. 功能正确性

  • 代码是否实现了预期功能?
  • 边界情况是否处理?
  • 错误处理是否完善?

2. 代码质量

  • 命名是否清晰有意义?
  • 函数是否足够小且单一职责?
  • 是否有重复代码?
  • 复杂度是否可接受?

3. 安全性

  • 是否有 SQL 注入风险?
  • 是否有 XSS 风险?
  • 敏感数据是否正确处理?
  • 权限检查是否到位?

4. 性能

  • 是否有不必要的循环?
  • 数据库查询是否优化?
  • 是否有内存泄漏风险?

5. 可维护性

  • 代码是否易于理解?
  • 是否有适当的注释?
  • 是否遵循项目规范?

审查流程

1. 了解上下文

bash
# 查看 PR 描述和关联 issue
gh pr view <pr-number>

# 查看变更文件列表
git diff --name-only main...feature-branch

2. 整体浏览

bash
# 查看整体 diff
git diff main...feature-branch

# 统计变更规模
git diff --stat main...feature-branch

3. 逐文件审查

bash
# 查看单个文件的变更
git diff main...feature-branch -- path/to/file

4. 运行测试

bash
# 确保测试通过
npm test

# 检查覆盖率
npm run test:coverage

反馈模板

建议(非强制)

markdown
**建议**: 考虑使用 `Array.find()` 替代这里的循环

问题(需要解决)

markdown
**问题**: 这里没有处理 `null` 的情况,可能导致运行时错误

赞扬

markdown
**赞**: 这个抽象做得很好,提高了代码的可复用性

常见问题检查清单

JavaScript/TypeScript

  • 是否使用 === 而非 ==
  • Promise 是否正确处理?
  • 是否避免了 any 类型?

React

  • 组件是否过大需要拆分?
  • useEffect 依赖是否正确?
  • key 是否正确使用?

API

  • 输入是否验证?
  • 响应格式是否一致?
  • 错误码是否规范?

审查输出格式

markdown
## Code Review: PR #123

### 总体评价
[通过/需要修改/需要重构]

### 亮点
- ...

### 需要修改
1. **file.ts:42** - [问题描述]
2. **file.ts:78** - [问题描述]

### 建议(可选)
1. **file.ts:100** - [建议描述]

### 测试建议
- [ ] 需要增加 XXX 场景的测试

注意事项

  • 保持友善和建设性
  • 关注代码而非人
  • 解释为什么而非只说什么
  • 区分必须修改和建议