AgentSkillsCN

Code Review

Git 工作流程

SKILL.md

Code Review Skill

version: 1.0.0

代码审查规范。QA 主导审查,确保代码质量。

审查流程

code
开发完成 → 提交 PR → QA 代码审查 → 通过 → 合并
                         ↓
                    不通过 → 修改 → 重新审查

审查职责

角色审查重点
QA代码规范、质量、安全、可测试性
同角色 Agent业务逻辑、实现方案(FE 审 FE、BE 审 BE)
Arch架构一致性(大变更时)

审查清单

通用检查(所有代码)

  • 规范:lint 通过、格式化正确
  • 命名:变量/函数命名清晰、符合规范
  • 注释:关键逻辑有注释、无过时注释
  • 复杂度:函数不超过 50 行、嵌套不超过 3 层
  • 重复:无明显重复代码
  • 安全:无硬编码密钥、无 SQL 注入风险

前端检查(FE)

  • 类型:TypeScript 类型完整、无 any
  • 组件:职责单一、Props 有类型
  • 样式:符合设计规范、无内联样式滥用
  • 性能:无不必要的渲染、列表有 key
  • 可访问性:有 alt、有 aria-label

后端检查(BE)

  • 契约:与 API 契约一致
  • 校验:输入参数有校验
  • 错误处理:有统一错误格式、不吞异常
  • 日志:关键操作有日志
  • 事务:数据操作有事务保护

Schema 检查(DBA)

  • 命名:符合命名规范
  • 索引:必要索引已添加
  • 约束:必要约束已定义
  • 迁移:有 up 和 down

审查结果

通过 ✅

code
LGTM(Looks Good To Me)

代码质量良好,可以合并。

条件通过 ⚠️

code
Approve with comments

可以合并,但建议后续改进:
- [ ] 建议1
- [ ] 建议2

不通过 🔴

code
Request changes

需要修改后重新审查:
1. [必须修改] 问题描述
2. [必须修改] 问题描述

审查评论规范

评论类型标记

code
[必须] 这里有 bug,需要修复
[建议] 这里可以用更简洁的写法
[疑问] 这个逻辑是什么意思?
[赞] 这个实现很优雅 👍

好的评论示例

code
[必须] 这里缺少 null 检查,当 user 为 null 时会 crash
建议改为:
const name = user?.name ?? 'Unknown';

[建议] 这个函数有点长(60行),建议拆分成:
- validateInput()
- processData()
- formatOutput()

差的评论示例

code
❌ "这不对" — 没说哪里不对、怎么改
❌ "重写" — 没说为什么、怎么重写
❌ "??" — 表意不明

审查礼仪

审查者

  • 及时响应(24 小时内)
  • 评论具体、有建设性
  • 区分"必须改"和"建议改"
  • 承认好的实现

被审查者

  • 感谢反馈
  • 解释不同意的点
  • 及时修改
  • 修改后请求重新审查

审查时效

PR 类型期望审查时间
Hotfix2 小时内
小 PR(< 100 行)24 小时内
大 PR(> 100 行)48 小时内

自审清单

提交 PR 前先自审:

  • 代码能运行
  • lint 通过
  • 自测功能正常
  • 无调试代码(console.log 等)
  • PR 描述清晰