feat(zh): add Chinese translations in zh/ directory
Add Chinese (Simplified) translations for all documentation, organized under a dedicated zh/ directory that mirrors the English folder structure. Co-authored-by: tanqingkuang <tanqingkuang@users.noreply.github.com> Translations originally contributed by @tanqingkuang in #45. Restructured from *-CN.md suffix pattern into zh/ directory to prevent the EPUB builder (scripts/build_epub.py collect_folder_files) from picking up Chinese files via glob("*.md") inside module folders.
This commit is contained in:
70
zh/03-skills/code-review/SKILL.md
Normal file
70
zh/03-skills/code-review/SKILL.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
name: code-review-specialist
|
||||
description: 提供全面的代码审查能力,覆盖安全、性能和代码质量分析。适用于用户请求代码审查、代码质量评估、Pull Request 审查,或提到安全分析和性能优化时。
|
||||
---
|
||||
|
||||
# 代码审查 Skill
|
||||
|
||||
这个 skill 提供全面的代码审查能力,重点关注:
|
||||
|
||||
1. **安全分析**
|
||||
- 身份验证 / 授权问题
|
||||
- 数据泄露风险
|
||||
- 注入漏洞
|
||||
- 密码学弱点
|
||||
- 敏感数据日志记录
|
||||
|
||||
2. **性能审查**
|
||||
- 算法效率(Big O 分析)
|
||||
- 内存优化
|
||||
- 数据库查询优化
|
||||
- 缓存机会
|
||||
- 并发问题
|
||||
|
||||
3. **代码质量**
|
||||
- SOLID 原则
|
||||
- 设计模式
|
||||
- 命名规范
|
||||
- 文档
|
||||
- 测试覆盖率
|
||||
|
||||
4. **可维护性**
|
||||
- 代码可读性
|
||||
- 函数长度(建议少于 50 行)
|
||||
- 圈复杂度
|
||||
- 依赖管理
|
||||
- 类型安全
|
||||
|
||||
## 审查模板
|
||||
|
||||
对每一段被审查的代码,请提供:
|
||||
|
||||
### 摘要
|
||||
- 整体质量评分(1-5)
|
||||
- 关键发现数量
|
||||
- 建议优先关注的区域
|
||||
|
||||
### 关键问题(如有)
|
||||
- **问题**:清晰描述
|
||||
- **位置**:文件和行号
|
||||
- **影响**:为什么这很重要
|
||||
- **严重性**:Critical / High / Medium
|
||||
- **修复**:代码示例
|
||||
|
||||
### 按类别列出发现
|
||||
|
||||
#### 安全性(如有问题)
|
||||
列出安全漏洞及示例
|
||||
|
||||
#### 性能(如有问题)
|
||||
列出性能问题,并说明复杂度
|
||||
|
||||
#### 质量(如有问题)
|
||||
列出代码质量问题,并给出重构建议
|
||||
|
||||
#### 可维护性(如有问题)
|
||||
列出可维护性问题,并给出改进建议
|
||||
|
||||
## 版本历史
|
||||
|
||||
- v1.0.0 (2024-12-10):首次发布,包含安全、性能、质量和可维护性分析
|
||||
112
zh/03-skills/code-review/templates/finding-template.md
Normal file
112
zh/03-skills/code-review/templates/finding-template.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# 代码审查问题记录模板
|
||||
|
||||
使用这个模板来记录代码审查中发现的每一个问题。
|
||||
|
||||
---
|
||||
|
||||
## 问题:[标题]
|
||||
|
||||
### 严重性
|
||||
- [ ] Critical(阻塞发布)
|
||||
- [ ] High(合并前应修复)
|
||||
- [ ] Medium(尽快修复)
|
||||
- [ ] Low(可选优化)
|
||||
|
||||
### 类别
|
||||
- [ ] Security
|
||||
- [ ] Performance
|
||||
- [ ] Code Quality
|
||||
- [ ] Maintainability
|
||||
- [ ] Testing
|
||||
- [ ] Design Pattern
|
||||
- [ ] Documentation
|
||||
|
||||
### 位置
|
||||
**文件:** `src/components/UserCard.tsx`
|
||||
|
||||
**行号:** 45-52
|
||||
|
||||
**函数 / 方法:** `renderUserDetails()`
|
||||
|
||||
### 问题描述
|
||||
|
||||
**是什么:** 描述这个问题是什么。
|
||||
|
||||
**为什么重要:** 说明影响,以及为什么需要修复。
|
||||
|
||||
**当前行为:** 展示有问题的代码或行为。
|
||||
|
||||
**期望行为:** 描述理想情况下应该发生什么。
|
||||
|
||||
### 代码示例
|
||||
|
||||
#### 当前(有问题)
|
||||
|
||||
```typescript
|
||||
// 这里展示了 N+1 查询问题
|
||||
const users = fetchUsers();
|
||||
users.forEach(user => {
|
||||
const posts = fetchUserPosts(user.id); // 每个用户都发一次查询!
|
||||
renderUserPosts(posts);
|
||||
});
|
||||
```
|
||||
|
||||
#### 建议修复
|
||||
|
||||
```typescript
|
||||
// 使用 JOIN 查询进行优化
|
||||
const usersWithPosts = fetchUsersWithPosts();
|
||||
usersWithPosts.forEach(({ user, posts }) => {
|
||||
renderUserPosts(posts);
|
||||
});
|
||||
```
|
||||
|
||||
### 影响分析
|
||||
|
||||
| 方面 | 影响 | 严重性 |
|
||||
|--------|--------|--------|
|
||||
| 性能 | 20 个用户就会产生 100+ 次查询 | High |
|
||||
| 用户体验 | 页面加载缓慢 | High |
|
||||
| 可扩展性 | 规模变大后会失效 | Critical |
|
||||
| 可维护性 | 难以排查问题 | Medium |
|
||||
|
||||
### 相关问题
|
||||
|
||||
- `AdminUserList.tsx` 第 120 行有类似问题
|
||||
- 相关 PR:#456
|
||||
- 相关 issue:#789
|
||||
|
||||
### 额外资源
|
||||
|
||||
- [N+1 Query Problem](https://en.wikipedia.org/wiki/N%2B1_problem)
|
||||
- [Database Join Documentation](https://docs.example.com/joins)
|
||||
|
||||
### 审查者备注
|
||||
|
||||
- 这是这个代码库里常见的模式
|
||||
- 可以考虑把它加入代码风格指南
|
||||
- 也许值得提取一个辅助函数
|
||||
|
||||
### 作者回复(供反馈)
|
||||
|
||||
*由代码作者填写:*
|
||||
|
||||
- [ ] 已在提交 `abc123` 中修复
|
||||
- [ ] 修复状态:Complete / In Progress / Needs Discussion
|
||||
- [ ] 问题或疑虑:(描述)
|
||||
|
||||
---
|
||||
|
||||
## 统计信息(供审查者使用)
|
||||
|
||||
在审查多个问题时,请记录:
|
||||
|
||||
- **发现问题总数:** X
|
||||
- **Critical:** X
|
||||
- **High:** X
|
||||
- **Medium:** X
|
||||
- **Low:** X
|
||||
|
||||
**建议:** ✅ Approve / ⚠️ Request Changes / 🔄 Needs Discussion
|
||||
|
||||
**整体代码质量:** 1-5 星
|
||||
47
zh/03-skills/code-review/templates/review-checklist.md
Normal file
47
zh/03-skills/code-review/templates/review-checklist.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# 代码审查检查清单
|
||||
|
||||
## 安全检查
|
||||
- [ ] 没有硬编码的凭据或密钥
|
||||
- [ ] 所有用户输入都做了校验
|
||||
- [ ] 使用参数化查询,防止 SQL 注入
|
||||
- [ ] 所有会修改状态的操作都有 CSRF 防护
|
||||
- [ ] 使用正确的转义,防止 XSS
|
||||
- [ ] 受保护的端点有身份验证检查
|
||||
- [ ] 资源访问有授权检查
|
||||
- [ ] 密码使用安全哈希算法(bcrypt、argon2)
|
||||
- [ ] 日志中没有敏感数据
|
||||
- [ ] 强制使用 HTTPS
|
||||
|
||||
## 性能检查
|
||||
- [ ] 没有 N+1 查询
|
||||
- [ ] 索引使用合理
|
||||
- [ ] 在有价值的地方做了缓存
|
||||
- [ ] 主线程上没有阻塞操作
|
||||
- [ ] 正确使用 async/await
|
||||
- [ ] 大数据集已经分页
|
||||
- [ ] 数据库连接已做连接池
|
||||
- [ ] 正则表达式已优化
|
||||
- [ ] 没有不必要的对象创建
|
||||
- [ ] 没有内存泄漏
|
||||
|
||||
## 质量检查
|
||||
- [ ] 函数少于 50 行
|
||||
- [ ] 变量命名清晰
|
||||
- [ ] 没有重复代码
|
||||
- [ ] 错误处理合理
|
||||
- [ ] 注释解释的是 WHY,而不是 WHAT
|
||||
- [ ] 生产环境中没有 console.log
|
||||
- [ ] 有类型检查(TypeScript / JSDoc)
|
||||
- [ ] 遵循 SOLID 原则
|
||||
- [ ] 正确应用设计模式
|
||||
- [ ] 代码具备自解释性
|
||||
|
||||
## 测试检查
|
||||
- [ ] 已编写单元测试
|
||||
- [ ] 覆盖了边界情况
|
||||
- [ ] 测试了错误场景
|
||||
- [ ] 有集成测试
|
||||
- [ ] 覆盖率大于 80%
|
||||
- [ ] 没有不稳定测试
|
||||
- [ ] 外部依赖已做 mock
|
||||
- [ ] 测试名称清晰
|
||||
Reference in New Issue
Block a user