# Chinese Code Review

中文 review 沟通参考, , 话术模板、分级标注（必须修复/建议修改/仅供参考）、国内团队常见反模式应对。仅在用户显式 /chinese-code-review...

- Repository: https://github.com/jnMetaCode/superpowers-zh (8437 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add jnMetaCode/superpowers-zh --skill chinese-code-review -g -a claude-code -y`
Codex: `npx skills add jnMetaCode/superpowers-zh --skill chinese-code-review -g -a codex -y`
Cursor: `npx skills add jnMetaCode/superpowers-zh --skill chinese-code-review -g -a cursor -y`
Gemini CLI: `npx skills add jnMetaCode/superpowers-zh --skill chinese-code-review -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add jnMetaCode/superpowers-zh`

## Description

中文 review 沟通参考, , 话术模板、分级标注（必须修复/建议修改/仅供参考）、国内团队常见反模式应对。仅在用户显式 /chinese-code-review 时调用，不要根据上下文自动触发。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 中文代码审查规范

## 概述

国内团队做 Code Review 常遇到两个极端：要么过度客气导致关键问题被放过，要么照搬西方直白风格让同事下不来台。本技能帮你找到平衡点, , **既不回避问题，又让人愿意接受反馈**。

**核心原则：** 用"建议"代替"命令"，用"提问"代替"否定"，但绝不因为面子而放过 bug。

## 审查反馈的表达方式

### 用建议代替命令

| 避免（命令式） | 推荐（建议式） |
|---------------|---------------|
| 你必须改成 X | 建议考虑用 X，因为 Y |
| 这里写错了 | 这里可能存在一个问题，是否考虑过 Z 的情况？ |
| 不要用这个方法 | 这个方法在 A 场景下可能有性能问题，可以看看 B 方案 |
| 这段代码不行 | 这段逻辑我理解得对吗？如果输入为空的话会怎样？ |

### 用提问代替否定

当你不确定对方意图时，先问再评：

```
# 好的方式
这里用 sync 方式读文件是出于什么考虑？如果并发量上来，可能会阻塞事件循环。

# 不好的方式
这里不应该用 sync 方式读文件。
```

### 分级标注

统一使用优先级标记，让作者快速判断轻重缓急：

- **[必须修复]**, 安全漏洞、数据丢失风险、逻辑错误（不修不能合）
- **[建议修改]**, 性能问题、可维护性、缺少校验（本次或下次迭代修复）
- **[仅供参考]**, 命名优化、风格建议、替代方案（不改也行）
- **[问题]**, 不确定的地方，需要作者解释意图

### 审查评论模板

```
[必须修复] SQL 注入风险

第 42 行：用户输入直接拼接到 SQL 语句中。

原因：攻击者可以通过 name 参数注入 `'; DROP TABLE users; --`。

建议：使用参数化查询：
  db.query('SELECT * FROM users WHERE name = ?', [name])

参考：https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html
```

## 中英混排代码注释规范

### 何时用中文

- **业务逻辑说明**, 用中文解释业务背景和需求来源
- **复杂算法注释**, 用中文写思路，确保团队成员都能理解
- **TODO / FIXME**, 用中文描述待办事项，方便搜索和追踪
- **文档注释（内部项目）**, JSDoc / Javadoc 中的描述文字用中文

```typescript
/**
 * 计算用户的会员等级折扣
 *
 * 业务规则：
 * - 普通会员 9.5 折
 * - 银卡会员 9 折
 * - 金卡会员 8.5 折
 * - 钻石会员 8 折
 *
 * @param level - 会员等级（MemberLevel enum）
 * @param amount - 原始金额（单位：分）
 * @returns 折后金额（单位：分）
 */
function calculateDiscount(level: MemberLevel, amount: number): number {
  // ...
}
```

### 何时用英文

- **变量名、函数名、类名**, 始终用英文命名，遵循团队命名规范
- **Git commit message**, 参考下方 commit 规范
- **开源项目注释**, 面向国际社区的项目，注释统一用英文
- **错误信息和日志**, 生产环境的 error message 用英文（避免编码问题）
- **API 接口文档**, 对外暴露的 API 用英文

### 混排格式要求

```typescript
// 好：中英文之间加空格
// 使用 Redis 缓存来减少 MySQL 的查询压力

// 坏：中英文之间没有空格
// 使用Redis缓存来减少MySQL的查询压力

// 好：技术术语保留英文
// 这里用 debounce 防抖处理，避免频繁触发 API 请求

// 坏：强行翻译技术术语
// 这里用防抖动处理，避免频繁触发应用程序接口请求
```

## Commit Message 中英双语格式

### 推荐格式

团队内部项目使用中文 commit message，采用约定式提交（Conventional Commits）的中文版：

```
<类型>(<范围>): <简要描述>

<详细说明（可选）>

<关联信息（可选）>
```

The rest: https://github.com/jnMetaCode/superpowers-zh/blob/HEAD/skills/chinese-code-review/SKILL.md
