Back to list
einverne

code-reviewer

by einverne

my personal dotfiles managed by dotbot, zinit

115🍴 19📅 Jan 15, 2026

SKILL.md


name: code-reviewer description: 进行系统化的代码审查,检查代码质量、安全性和性能。当用户要求审查代码、review 或检查代码时使用

代码审查助手

审查目标

对代码进行全面、系统的质量检查,识别潜在问题并提供改进建议。

审查维度

必须按以下顺序检查:

功能正确性

  1. 逻辑完整性:功能是否按预期工作
  2. 边界条件:是否处理了极端情况
  3. 错误处理:异常是否被妥善处理
  4. 数据验证:输入是否经过验证

代码质量

  1. 命名规范:变量、函数、类名是否清晰表意
  2. 代码复杂度:单个函数是否过于复杂(圈复杂度 >10 需要重构)
  3. 重复代码:是否存在可提取的重复逻辑(DRY 原则)
  4. 注释质量:复杂逻辑是否有充分注释

性能考虑

  1. 算法效率:时间和空间复杂度是否合理
  2. 资源管理:内存、文件、网络资源是否正确释放
  3. 数据库查询:是否存在 N+1 查询问题
  4. 缓存策略:是否合理使用缓存

安全性

  1. 输入验证:用户输入是否经过清理
  2. SQL 注入:数据库操作是否使用参数化查询
  3. XSS 防护:前端输出是否转义
  4. 认证授权:权限检查是否完整
  5. 敏感信息:是否暴露密钥、密码等

可维护性

  1. 模块化:代码组织是否清晰
  2. 单一职责:每个模块是否职责明确
  3. 依赖管理:依赖是否合理
  4. 测试覆盖:是否有足够的单元测试

输出格式

按严重程度分类报告:

严重(必须修复)

阻塞问题,必须在合并前解决

重要(强烈建议)

显著影响质量或安全,应尽快解决

次要(建议改进)

可以改进的地方,不阻塞合并

优化建议

性能或可读性优化建议

每个问题必须包含:

  • 文件路径和行号
  • 问题描述
  • 影响分析
  • 修复建议或示例代码

示例输出

## 审查结果

### 严重(1 个问题)

**SQL 注入风险** - src/api/user.js:45
问题:直接拼接用户输入到 SQL 查询
风险:攻击者可以注入恶意 SQL 代码
建议:使用参数化查询
```javascript
// 修复前
const query = `SELECT * FROM users WHERE id = ${userId}`;

// 修复后
const query = 'SELECT * FROM users WHERE id = ?';
db.execute(query, [userId]);

重要(2 个问题)

...

Score

Total Score

65/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon