用途
Clean Code 被定位为“基础技能(The Foundation Skill)”,适用于所有其他技能,即每一段代码输出都必须通过这些关卡。它的目标是充当 LLM 防火墙,防止 AI 生成幻觉内容、强制 2025 年安全规范,并确保跨技能协作时的一致性。
其核心理念是“算法优雅强制令”:绝不为了“聪明”而牺牲可读性与意图表达。AI 生成的代码常因引入不必要的抽象或使用模糊命名而掩盖逻辑,因此要求每个变量和函数都使用能揭示意图的命名;任何增加认知复杂度却没有带来相应性能或可扩展性收益的实现都应被拒绝,并避免“炒作驱动开发”,成熟模式优先于流行但不稳定的框架。
主要能力
铁律(Iron Laws)
- 禁止幻觉包——导入前必须验证。
- 禁止惰性占位符——代码必须可运行。
- 禁止安全捷径——使用生产级默认值。
- 禁止过度工程——最简单方案优先。
安全协议
- 供应链安全:LLM 会幻觉出听起来真实但不存在的包;导入前用 npm search 或 pip show 验证;优先久经考验的库(如 lodash、date-fns、zod);添加新依赖前检查 npm audit / pip-audit;生产环境固定版本,关键依赖不用 ^ 或 ~。2025 年 AI 包风险:未经验证不得导入 AI“包装”库;LLM SDK 只用官方(openai、anthropic、google-generativeai);向量数据库坚持成熟方案(pinecone、weaviate、chromadb)。
- 安全优先默认值:前端禁止 dangerouslySetInnerHTML(需 DOMPurify 净化)、内联事件处理器(用事件委托)、eval()/new Function()(只用静态代码)、把 token 存在 localStorage(用 httpOnly cookies)。后端禁止 CORS: *(用显式来源白名单)、原始 SQL 字符串(用参数化查询)、chmod 777(最小权限原则)、硬编码密钥(用环境变量加验证)。API 安全(2025):所有公开端点限流;在入口做输入验证(Zod/Pydantic);对 AI 生成内容做输出净化;新项目用 PASETO 优于 JWT。
模块化与占位符规则
- 禁止惰性占位符:禁止 // TODO: Implement this、// ... logic goes here、空函数 placeholder() { }、throw new Error('Not implemented')。要求每个函数可运行;过于复杂就拆成更小的完整函数;“赶时间”不是借口,要写最小可行实现。
- 模块化与结构:50/300 规则——函数超过 50 行要拆分,文件超过 300 行要拆成模块。SOLID 原则速查:单一职责(是否只做一件事)、开闭(能否不改动就扩展)、里氏替换(子类型能否替换父类型)、接口隔离(接口是否最小)、依赖倒置(是否依赖抽象)。
复杂度与依赖
- 复杂度上限:原生优先,例如不要安装 is-odd,直接用 const isOdd = n => n % 2 !== 0;。反模式包括为简单函数造 AbstractFactoryBuilderManager、为 CRUD 套 10 层抽象、为不存在的需求做“面向未来”。遵循 YAGNI:你不会需要它,只为今天的需求构建。
- 依赖卫生:用 npm outdated 检查更新、npm audit 检查漏洞。“最新”不总是“最安全”;若最新版有严重 CVE,回滚到最后一个安全版本;安全优先于新功能。2025 推荐:验证用 zod、valibot;HTTP 用 ky、ofetch;状态用 zustand、jotai;ORM 用 drizzle、prisma;认证用 lucia、better-auth。
AI 时代注意事项
构建 AI 功能时:验证 AI 输出,绝不信任原始 LLM 响应;对 AI 调用限流,防止成本爆炸;展示前净化,AI 可能生成恶意内容;记录 AI 交互,便于调试与合规。当 AI 写代码时:验证导入是否存在(AI 会幻觉包);检查类型是否正确(AI 会猜 API);测试边界情况(AI 会漏掉边界条件);审查安全(AI 会走捷径)。
使用方式
该技能作为基础层应用于所有代码输出。资料提供了一份提交任何代码前的快速审计清单:无幻觉导入(已验证包存在)、无安全捷径(CORS、eval、硬编码密钥)、无惰性占位符(// TODO、空函数)、函数小于 50 行且文件小于 300 行、依赖已审计(npm audit 干净)、类型严格(无 any)。
跨技能集成
与其他技能配合时,Clean Code 会补充相应内容:与 @frontend-design 配合补充安全默认值、禁用 eval、CSP 意识;与 @backend-design 配合补充输入验证、禁用原始 SQL、零信任;与 @tdd-mastery 配合补充无占位符(测试强制完整性);与 @planning-mastery 配合用模块化指导任务拆分;与 @brainstorming 配合用 SOLID/YAGNI 指导架构决策;与 @debug-mastery 配合补充日志标准、禁止静默失败。
适用场景
适用于所有需要 AI 生成或审查代码的场景,尤其是对安全性、可维护性和可运行性有要求的项目。它强调在导入依赖、编写前后端代码、构建 AI 功能以及跨技能协作时统一执行这些规则。
限制
资料未提供该技能的具体安装命令、运行环境、支持的平台、收费方式或价格信息,这些内容暂未提供。