sheng-jie/learn-cc-csharp/sheng-jie-learn-cc-csharp-code-review
Claude Code and agent skill by sheng-jie/learn-cc-csharp
- community
Checking that the SKILL.md file is still in the repository.
代码审查方法论。用于系统化审查代码质量、安全性和最佳实践。
Install
npx vskill@latest install sheng-jie/learn-cc-csharp/sheng-jie-learn-cc-csharp-code-reviewSKILL.md
代码审查技能
本技能提供系统化的代码审查方法论和检查清单。
审查流程
1. 快速浏览(2分钟)
先获得整体印象:
2. 逐项检查(核心)
按以下顺序检查:
- 安全问题 ← 最高优先级
- 正确性问题
- 性能问题
- 可维护性问题
- 风格问题 ← 最低优先级
安全检查清单
🔴 严重
- [ ] SQL 注入: 是否使用参数化查询?
```csharp // ❌ 危险 $"SELECT * FROM Users WHERE Id = {userId}"
// ✅ 安全 "SELECT * FROM Users WHERE Id = @Id", new { Id = userId } ```
- [ ] 密码处理: 是否安全存储和比较?
```csharp // ❌ 危险 if (inputPassword == storedPassword)
// ✅ 安全(常量时间比较) if (CryptographicOperations.FixedTimeEquals(hash1, hash2)) ```
- [ ] 敏感数据: 日志中是否暴露密码/token?
```csharp // ❌ 危险 _logger.LogInfo($"User {user} logged in with password {password}");
// ✅ 安全 _logger.LogInfo($"User {user} logged in"); ```
🟠 重要
- [ ] 输入验证: 所有外部输入是否验证?
- [ ] 权限检查: API 端点是否有授权?
- [ ] CORS 配置: 是否过于宽松?
- [ ] 依赖安全: 是否有已知漏洞?
正确性检查清单
逻辑错误
- [ ] 边界条件: 空值、零、最大值是否处理?
- [ ] 异常处理: catch 块是否吞掉错误?
```csharp // ❌ 吞掉错误 catch (Exception) { }
// ✅ 至少记录 catch (Exception ex) { _logger.LogError(ex, "Operation failed"); throw; } ```
- [ ] 资源释放: IDisposable 是否正确处理?
```csharp // ❌ 可能泄露 var client = new HttpClient();
// ✅ 正确 using var client = new HttpClient(); ```
并发问题
- [ ] 线程安全: 共享状态是否有竞态条件?
- [ ] 死锁: async 代码是否有
.Result或.Wait()?
```csharp // ❌ 可能死锁 var result = GetDataAsync().Result;
// ✅ 安全 var result = await GetDataAsync(); ```
性能检查清单
常见问题
- [ ] N+1 查询: 循环中是否有数据库调用?
```csharp // ❌ N+1 foreach (var order in orders) order.Customer = await db.GetCustomer(order.CustomerId);
// ✅ 批量加载 var customerIds = orders.Select(o => o.CustomerId).Distinct(); var customers = await db.GetCustomers(customerIds); ```
- [ ] 内存分配: 是否在热路径上频繁分配?
- [ ] 字符串拼接: 是否使用 StringBuilder?
- [ ] LINQ 滥用: 是否多次枚举 IEnumerable?
检测工具
可维护性检查清单
代码组织
- [ ] 单一职责: 类/方法是否只做一件事?
- [ ] 方法长度: 是否超过 50 行?考虑拆分
- [ ] 嵌套深度: 是否超过 3 层?考虑提前返回
命名
- [ ] 有意义: 名字是否描述意图?
```csharp // ❌ 含糊 var d = GetData();
// ✅ 清晰 var activeUsers = GetActiveUsers(); ```
- [ ] 一致性: 是否遵循项目约定?
注释
- [ ] 必要性: 注释是否解释"为什么"而非"是什么"?
- [ ] 准确性: 注释是否与代码一致?
审查报告模板
自动化工具
静态分析
格式化
常见反模式
1. 上帝类 (God Class)
一个类做太多事情。拆分为多个单一职责的类。
2. 魔法数字
3. 注释掉的代码
删除它。用版本控制恢复。
4. 过早优化
先让它正确工作,再考虑优化。
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/code-review/SKILL.md
Popularity
- Repository stars
- 58
- Repository forks
- 14
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 10 Apr 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sheng-jie/learn-cc-csharp/sheng-jie-learn-cc-csharp-code-review)