Clean Code
2026-03-27
新闻来源:网淘吧
围观:20
电脑广告
手机广告
整洁代码 - 实用人工智能编码规范
关键技能- 保持简洁、直接、聚焦解决方案。
核心原则
| 原则 | 规则 |
|---|---|
| 单一职责原则 | 单一职责 - 每个函数/类只做一件事 |
| 不要重复自己原则 | 不要重复自己 - 提取重复项,实现复用 |
| 保持简单原则 | 保持简单 - 采用可行的最简单方案 |
| 你不会需要它原则 | 你不会需要它 - 不构建未使用的功能 |
| 童子军原则 | 让代码比你发现时更整洁 |
命名规则
| 元素 | 规范 |
|---|---|
| 变量 | 揭示意图:用户数量不n |
| 函数 | 动词 + 名词:getUserById()而不是user() |
| 布尔值 | 疑问句形式:isActive、hasPermission、canEdit |
| 常量 | 全大写蛇形命名法:MAX_RETRY_COUNT |
规则:如果需要注释来解释一个名称,请重命名它。
函数规则
| 规则 | 描述 |
|---|---|
| 简短 | 最多20行,理想情况下5-10行 |
| 单一职责 | 做好一件事,并将其做好 |
| 单一层级 | 每个函数只处理一个抽象层级 |
| 参数要少 | 最多3个参数,最好0-2个 |
| 无副作用 | 不要意外地改变输入 |
代码结构
| 模式 | 应用 |
|---|---|
| 守卫子句 | 边界情况提前返回 |
| 扁平优于嵌套 | 避免深层嵌套(最多2层) |
| 组合 | 将小函数组合在一起 |
| 就近放置 | 将相关代码放在一起 |
AI编程风格
| 情境 | 行动 |
|---|---|
| 用户请求功能 | 直接编写 |
| 用户报告错误 | 直接修复,无需解释 |
| 没有明确的需求 | 主动询问,而非臆测 |
反模式(避免这样做)
| ❌ 反模式 | ✅ 修正方案 |
|---|---|
| 为每一行代码添加注释 | 删除显而易见的注释 |
| 为单行代码创建辅助函数 | 将代码内联化 |
| 仅为两个对象创建工厂 | 直接实例化 |
| 仅包含一个函数的 utils.ts | 将代码放在使用位置 |
| "首先我们导入..." | 直接编写代码 |
| 深层嵌套 | 守卫子句 |
| 魔法数字 | 命名常量 |
| 上帝函数 | 按职责拆分 |
🔴 在编辑任何文件之前(先思考!)
修改文件前,先问自己:
| 问题 | 为什么 |
|---|---|
| 哪些文件导入了此文件? | 它们可能会出问题 |
| 此文件导入了什么? | 接口变更 |
| 哪些测试覆盖了此部分? | 测试可能会失败 |
| 这是一个共享组件吗? | 多个地方会受影响 |
快速检查:
File to edit: UserService.ts
└── Who imports this? → UserController.ts, AuthController.ts
└── Do they need changes too? → Check function signatures
🔴规则:在同一任务中编辑文件及其所有依赖文件。 🔴切勿留下损坏的导入或缺失的更新。
总结
| 要做 | 不要做 |
|---|---|
| 直接编写代码 | 编写教程 |
| 让代码自我说明 | 添加显而易见的注释 |
| 立即修复错误 | 先解释修复方案 |
| 内联处理小事项 | 创建不必要的文件 |
| 命名清晰 | 使用缩写 |
| 保持函数小巧 | 编写100行以上的函数 |
记住:用户需要的是能运行的代码,而不是编程课程。
🔴 完成前自检(强制)
在说“任务完成”之前,请验证:
| 检查 | 问题 |
|---|---|
| ✅目标达成? | 我是否完全按照用户要求操作? |
| ✅文件已编辑? | 我是否修改了所有必要的文件? |
| ✅代码运行正常? | 我是否测试/验证了更改? |
| ✅无错误? | 代码检查和TypeScript是否通过? |
| ✅无遗漏? | 是否有遗漏的边缘情况? |
🔴规则:如果任何检查失败,请在完成前修复。
验证脚本(强制)
🔴关键:每个智能体在完成工作后仅运行其自身技能的脚本。
智能体 → 脚本映射
| 智能体 | 脚本 | 命令 |
|---|---|---|
| 前端专家 | 用户体验审计 | 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 . |
❌错误:
测试工程师正在运行ux_audit.py✅正确:前端专家正在运行ux_audit.py
🔴 脚本输出处理(读取 → 总结 → 询问)
运行验证脚本时,您必须:
- 运行脚本并捕获所有输出
- 解析输出- 识别错误、警告和通过项
- 向用户总结使用此格式:
## Script Results: [script_name.py]
### ❌ Errors Found (X items)
- [File:Line] Error description 1
- [File:Line] Error description 2
### ⚠️ Warnings (Y items)
- [File:Line] Warning description
### ✅ Passed (Z items)
- Check 1 passed
- Check 2 passed
**Should I fix the X errors?**
- 等待用户确认然后再进行修复
- 修复后→ 重新运行脚本以确认
🔴违规:运行脚本并忽略输出 = 任务失败。 🔴违规:未经询问自动修复 = 不允许。 🔴规则:始终遵循:读取输出 → 总结 → 询问 → 然后修复。
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~