ousterhout-build-deep
作者:Rob Zapp尚无安装尚无点赞更新于 2026年9月21日分类: 工程
它能做什么
在编写或修改代码时使用,在标记任务完成之前,每当更改添加了导出或可导入的名称、创建了模块、类、组件、辅助函数、hook、服务或包装器,或集中重复代码时使用。构建深度模块的作者时间检查清单:命名决策所隐藏的边界,通过深度和不变量测试,修复问题而非迁移问题,绝不单凭大小拆分,并以简短的设计说明结束。是 ousterhout-quality-program 的简明伴侣,后者仍是完整的审查视角。
安装会在你的 AgentsRoom 桌面端打开这个条目。如果还没有安装应用,你会被带到下载页面。
SKILL.md
--- name: ousterhout-build-deep description: 在编写或修改代码时使用,在标记任务完成之前,每当更改添加了导出或可导入的名称、创建了模块、类、组件、辅助函数、hook、服务或包装器,或集中重复代码时使用。构建深度模块的作者时间检查清单:命名决策所隐藏的边界,通过深度和不变量测试,修复问题而非迁移问题,绝不单凭大小拆分,并以简短的设计说明结束。是 ousterhout-quality-program 的简明伴侣,后者仍是完整的审查视角。 --- # 深度构建(Ousterhout,作者时间) 你是在写代码,而不是审查代码。在你称任务完成之前,先在你自己的改动上运行它。 ## 1. 门槛 这个改动是否添加了一个导出/可导入的名称,创建了一个模块、类、组件、辅助函数、hook、服务或包装器,或者集中重复代码? 如果没有,跳过此技能。重命名、代码迁移、配置/数据编辑和一行修复不在此限。 ## 2. 写边界之前 - 找出这个仓库已经如何解决类似问题,并遵循它,除非你能说明为什么不这样做。阅读依赖的当前文档和类型:凭记忆回忆的 API 是主张,不是来源。 - 先写接口注释:它承诺什么,隐藏什么。如果你无法命名隐藏的决策(格式、策略、规则、模式选择),这个边界不应该存在。将其内联。 - 用领域语言命名。如果唯一诚实的名字是 `utils`、`helpers` 或 `manager`,说明切分位置不对。 ## 3. 两个测试 - **深度。** 接口必须隐藏的内容远多于暴露的内容。一个仅转发参数的包装器是无益的开销;删除它。 - **不变性。** 只有当共享代码保护共享规则时才提取。证据是共变:历史上这些副本是一起修复或修改的。独立变化的相似代码保持重复。 ## 4. 修复必须消除问题,而非转移问题 - 六个类型转换集中到一个通用转换辅助中仍是六个转换。写出类型映射器,替代这些转换的掩盖。 - 不要添加参数或标志将决策推给调用者,除非调用者确实知道你不知道的事情。将复杂情况吸收在内部。 - 优先选择错误情况不会出现的语义,而非让每个调用者处理它。 - 将关键领域复杂性移到另一个文件不等于简化。 ## 5. 面对“清理”或“文件太大”的压力 绝不单凭大小拆分。一个隐藏一个决策的400行模块胜过四个泄露相同连接点的100行模块。问问每个拆分隐藏了什么决策;如果没有,就别拆分。 ## 6. 安全性 已有代码:在加深之前用测试锁定当前行为。新代码:写定义预期行为的测试。 ## 7. 报告 如果门槛触发,结束你的最终信息时附上2-4行设计说明:你添加的每个边界及其隐藏的决策;你故意保留的重复及原因;你接受的任何浅层设计及原因。 对于有争议的决定或全面审查,加载 `ousterhout-quality-program`。
标签
设计架构编码ousterhout作者时间
延伸阅读
Claude Ads:帮你审计广告账户的 Claude Code 技能
Claude Ads 是一款面向 Claude Code 的开源技能:对 Google、Meta、LinkedIn、TikTok、Amazon 广告等做 250 多项检查,给出百分制评分和按优先级排序的行动方案,全程只需十来分钟。本文讲解安装、命令、局限,以及如何在 AgentsRoom 中把它编排起来。
AGENTS.md:一个上下文文件喂饱所有编码 Agent(Codex、Antigravity、Claude)
AGENTS.md 是 AI 编码 Agent 在动你代码之前先读的那份可移植指令文件。该往里写什么、它和 CLAUDE.md 有何区别,以及如何在 Codex、Antigravity 和 Claude 之间保持同一份上下文。
下载 AgentsRoom
在一个窗口中运行你所有项目的所有 AI 代理。
免费下载 AgentsRoom
配套应用:随时随地监控你的 Agent
使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。
获取扩展程序
Chrome Web Store
把 Bug 和需求直接发送到您的公开待办清单。