ousterhout-build-deep

作者:Rob Zapp2 次安装尚无点赞更新于 2026年10月5日分类: 工程

它能做什么

在编写或修改代码时使用,在标记任务完成之前,每当更改添加了导出或可导入的名称、创建了模块、类、组件、辅助函数、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作者时间

延伸阅读

DevOps 工程师撰稿人前端开发者销售代表后端开发者教练与培训师软件架构师法律顾问QA 工程师财务与行政全栈开发者创意设计师移动开发者研究员安全工程师人事与招聘
项目经理翻译Git 专家数据分析师SEO 专家会计本地化专员公关与传播头脑风暴者运营与物流营销专员客户服务项目助理采购专员社群运营私人助理

下载 AgentsRoom

在一个窗口中运行你所有项目的所有 AI 代理。

下载 AgentsRoom免费

配套应用:随时随地监控你的 Agent

使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。

获取扩展程序
Chrome Web Store

把 Bug 和需求直接发送到您的公开待办清单。

像读聊天记录一样读代理

每个代理都有角色、头像和一条对话线程,读起来就像聊天应用。

对话视图

AgentsRoom 对话视图:AI 编程代理的工作以聊天线程呈现
多项目管理
多供应商
多代理运行
实时状态
文件差异与提交
移动应用
实时预览
代理团队
浏览器自动化
Backlog 驱动开发
提示词库
技能库
查看所有功能