OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  clean-code:务实的编码标准——追求简洁直观,拒绝冗余逻辑

clean-code:务实的编码标准——追求简洁直观,拒绝冗余逻辑

 
  monolith ·  2026-02-23 20:09:36 · 2 次点击  · 0 条评论  

名称: clean-code
描述: 务实的编码标准 - 简洁、直接、不做过度设计、不写不必要的注释
允许工具: Read, Write, Edit
版本: 2.0
priority: CRITICAL


整洁代码 - 务实的 AI 编码标准

关键技能 - 保持简洁、直接,并专注于解决方案


核心原则

原则 规则
SRP 单一职责 - 每个函数/类只做一件事
DRY 不要重复自己 - 提取重复代码,实现复用
KISS 保持简单 - 采用可行的最简单方案
YAGNI 你不需要它 - 不要构建未使用的功能
童子军规则 让代码比你发现时更整洁

命名规则

元素 约定
变量 揭示意图:用 userCount 而非 n
函数 动词 + 名词:用 getUserById() 而非 user()
布尔值 疑问形式:isActive, hasPermission, canEdit
常量 全大写蛇形命名:MAX_RETRY_COUNT

规则: 如果需要注释来解释一个名称,那就重命名它。


函数规则

规则 描述
短小 最多 20 行,理想情况 5-10 行
单一职责 做好一件事
单一抽象层级 每个函数只包含一个抽象层级
参数要少 最多 3 个参数,最好 0-2 个
无副作用 不要意外地修改输入参数

代码结构

模式 应用场景
卫语句 对边界情况使用提前返回
扁平化优于嵌套 避免深层嵌套(最多 2 层)
组合 将小函数组合在一起
就近原则 将相关代码放在一起

AI 编码风格

场景 行动
用户要求功能 直接编写代码
用户报告错误 直接修复,无需解释
需求不明确 主动询问,不要假设

反模式(禁止)

❌ 反模式 ✅ 修正方案
每行都加注释 删除显而易见的注释
为单行代码创建辅助函数 内联该代码
仅为 2 个对象创建工厂 直接实例化
utils.ts 中只有一个函数 将代码放在使用它的地方
"首先我们导入..." 直接写代码
深层嵌套 使用卫语句
魔法数字 使用命名常量
上帝函数 按职责拆分

🔴 编辑任何文件前(先思考!)

在修改文件前,问自己:

问题 原因
哪些文件导入了此文件? 它们可能会出错
此文件导入了哪些文件? 接口可能改变
有哪些测试覆盖了它? 测试可能会失败
这是一个共享组件吗? 会影响多个地方

快速检查:

要编辑的文件:UserService.ts
└── 谁导入了它? → UserController.ts, AuthController.ts
└── 它们也需要修改吗? → 检查函数签名

🔴 规则: 在同一任务中编辑文件及其所有依赖文件。
🔴 切勿留下损坏的导入或遗漏的更新。


总结

要做 不要做
直接编写代码 写教程
让代码自文档化 添加显而易见的注释
立即修复错误 先解释如何修复
内联小东西 创建不必要的文件
命名清晰 使用缩写
保持函数短小 编写 100+ 行的函数

记住:用户想要的是能工作的代码,而不是编程课。


🔴 完成任务前自检(强制)

在说“任务完成”之前,请确认:

检查项 问题
目标达成? 我是否准确完成了用户的要求?
文件已编辑? 我是否修改了所有必要的文件?
代码能工作? 我是否测试/验证了更改?
没有错误? 代码检查和 TypeScript 是否通过?
没有遗漏? 是否遗漏了任何边界情况?

🔴 规则: 如果任何一项检查失败,请在完成前修复。


验证脚本(强制)

🔴 关键: 每个智能体在完成工作后只运行其自身技能的脚本。

智能体 → 脚本映射

智能体 脚本 命令
前端专家 UX 审计 python .agent/skills/frontend-design/scripts/ux_audit.py .
前端专家 无障碍检查 python .agent/skills/frontend-design/scripts/accessibility_checker.py .
后端专家 API 验证器 python .agent/skills/api-patterns/scripts/api_validator.py .
移动开发者 移动端审计 python .agent/skills/mobile-design/scripts/mobile_audit.py .
数据库架构师 模式验证 python .agent/skills/database-design/scripts/schema_validator.py .
安全审计员 安全扫描 python .agent/skills/vulnerability-scanner/scripts/security_scan.py .
SEO 专家 SEO 检查 python .agent/skills/seo-fundamentals/scripts/seo_checker.py .
SEO 专家 GEO 检查 python .agent/skills/geo-fundamentals/scripts/geo_checker.py .
性能优化师 Lighthouse python .agent/skills/performance-profiling/scripts/lighthouse_audit.py <url>
测试工程师 测试运行器 python .agent/skills/testing-patterns/scripts/test_runner.py .
测试工程师 Playwright python .agent/skills/webapp-testing/scripts/playwright_runner.py <url>
任何智能体 代码检查 python .agent/skills/lint-and-validate/scripts/lint_runner.py .
任何智能体 类型覆盖率 python .agent/skills/lint-and-validate/scripts/type_coverage.py .
任何智能体 国际化检查 python .agent/skills/i18n-localization/scripts/i18n_checker.py .

错误示例: test-engineer 运行 ux_audit.py
正确示例: frontend-specialist 运行 ux_audit.py


🔴 脚本输出处理(读取 → 总结 → 询问)

运行验证脚本时,你必须:

  1. 运行脚本并捕获所有输出
  2. 解析输出 - 识别错误、警告和通过项
  3. 按以下格式向用户总结
## 脚本结果:[script_name.py]

### ❌ 发现的错误(X 项)
- [文件:行号] 错误描述 1
- [文件:行号] 错误描述 2

### ⚠️ 警告(Y 项)
- [文件:行号] 警告描述

### ✅ 通过(Z 项)
- 检查项 1 通过
- 检查项 2 通过

**需要我修复这 X 个错误吗?**
  1. 等待用户确认后再进行修复
  2. 修复后 → 重新运行脚本以确认

🔴 违规行为: 运行脚本但忽略输出 = 任务失败。
🔴 违规行为: 未经询问自动修复 = 不允许。
🔴 规则: 始终遵循:读取输出 → 总结 → 询问 → 然后修复。

2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor