clean-code-reviewer
SKILL.md
Clean Code Review
基于《代码整洁之道》原则,聚焦 5 个高收益检查维度。
Review Workflow
Review Progress:
- [ ] 1. Scan codebase: identify files to review
- [ ] 2. Check each dimension (naming, functions, DRY, YAGNI, magic numbers)
- [ ] 3. Rate severity (高/中/低) for each issue
- [ ] 4. Generate report sorted by severity
Check Dimensions
1. 命名问题【有意义的命名】
检查标志:
data1,temp,result,info,obj等无意义命名- 同一概念多种命名(
get/fetch/retrieve混用)
// ❌
const d = new Date();
const data1 = fetchUser();
// ✅
const currentDate = new Date();
const userProfile = fetchUser();
2. 函数问题【函数短小 + SRP】
检查标志:
- 函数超过 100 行
- 参数超过 3 个
- 函数做多件事
// ❌ 7 个参数
function processOrder(user, items, address, payment, discount, coupon, notes)
// ✅ 使用参数对象
interface OrderParams { user: User; items: Item[]; shipping: Address; payment: Payment }
function processOrder(params: OrderParams)
3. 重复问题【DRY】
检查标志:
- 相似的 if-else 结构
- 相似的数据转换/错误处理逻辑
- Copy-paste 痕迹
4. 过度设计【YAGNI】
检查标志:
- 从未为 true 的
if (config.legacyMode)分支 - 只有一个实现的接口
- 无用的 try-catch 或 if-else
// ❌ YAGNI 违反:从未使用的兼容代码
if (config.legacyMode) {
// 100 行兼容代码
}
5. 魔法数字【避免硬编码】
检查标志:
- 裸露数字无解释
- 硬编码字符串
// ❌
if (retryCount > 3) // 3 是什么?
setTimeout(fn, 86400000) // 这是多久?
// ✅
const MAX_RETRY_COUNT = 3;
const ONE_DAY_MS = 24 * 60 * 60 * 1000;
Severity Levels
| 级别 | 标准 |
|---|---|
| 高 | 影响可维护性/可读性,应立即修复 |
| 中 | 有改进空间,建议修复 |
| 低 | 代码气味,可选优化 |
Output Format
### [问题类型]: [简述]
- **原则**: [Clean Code 原则]
- **位置**: `文件:行号`
- **级别**: 高/中/低
- **问题**: [具体描述]
- **建议**: [修复方向]
References
Detailed examples: See references/detailed-examples.md
- 各维度的完整案例(命名、函数、DRY、YAGNI、魔法数字)
Language patterns: See references/language-patterns.md
- TypeScript/JavaScript 常见问题
- Python 常见问题
- Go 常见问题
Multi-Agent Parallel
按以下维度拆分给多 agent 并行:
- 按检查维度 - 5 维度各一个 agent
- 按模块/目录 - 不同模块各一个 agent
- 按语言 - TypeScript、Python、Go 各一个 agent
汇总时需去重和统一严重程度评定。
Weekly Installs
1
Repository
rabbit-ivan/ivan-skillsFirst Seen
8 days ago
Security Audits
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1