ousterhout-build-deep

作者:Rob Zapp2 次安裝尚無按讚更新於 2026年10月5日分類: 工程

它能做什麼

在撰寫或修改程式碼時使用,在標記任務完成之前,當變更新增了可匯出或可匯入的名稱、建立模組、類別、元件、輔助函式、hook、服務或包裝器,或將重複程式碼集中時使用。建構深度模組的作者時檢查清單:命名決策所隱藏的邊界,通過深度和不變性測試,修正問題而非重新定位,絕不僅以大小拆分,並以簡短的設計說明結尾。是 ousterhout-quality-program 的精簡伴侶,後者仍是完整的審查視角。

安裝會在你的 AgentsRoom 桌面版開啟這個條目。如果還沒有安裝應用,你會被帶到下載頁面。

SKILL.md

---
name: ousterhout-build-deep
description: 在撰寫或修改程式碼時使用,在標記任務完成之前,當變更新增了可匯出或可匯入的名稱、建立模組、類別、元件、輔助函式、hook、服務或包裝器,或將重複程式碼集中時使用。建構深度模組的作者時檢查清單:命名決策所隱藏的邊界,通過深度和不變性測試,修正問題而非重新定位,絕不僅以大小拆分,並以簡短的設計說明結尾。是 ousterhout-quality-program 的精簡伴侶,後者仍是完整的審查視角。
---

# Build it deep (Ousterhout, author-time)

你是在寫程式碼,而不是在審查它。在你宣告任務完成之前,先在自己的變更上執行這些步驟。

## 1. 門檻

這次變更是否新增了可匯出/匯入的名稱、建立了模組、類別、元件、輔助函式、hook、服務或包裝器,或是集中重複的程式碼?
如果沒有,跳過此技能。重新命名、程式碼轉換、設定/資料編輯和一行修正不在此限。

## 2. 在你寫邊界之前

- 找出此倉庫已如何解決此類問題並遵循它,除非你能說明為何不行。閱讀依賴的現有文件和型別:憑記憶回想 API 是主張,不是來源。
- 先寫介面註解:它承諾什麼,隱藏什麼。如果你無法命名被隱藏的決策(格式、政策、規則、結構選擇),此邊界不應存在。將其內聯。
- 用領域語言命名。如果唯一誠實的名稱是 `utils`、`helpers` 或 `manager`,表示切割位置錯誤。

## 3. 兩個測試

- **深度。** 介面必須隱藏的遠多於它暴露的。只轉發參數的包裝器是無益的成本;刪除它。
- **不變性。** 只有在保護共享規則時才抽取共用程式碼。證據是共變:歷史上這些複本是一起修正或變更的。獨立變更的相似程式碼保持複製狀態。

## 4. 修正必須移除問題,而非重新定位

- 六個轉型集中到一個泛型轉型輔助函式仍是六個轉型。寫出這些轉型掩蓋的型別映射器。
- 除非呼叫者真的知道你不知道的事,否則不要新增參數或旗標將決策推給呼叫者。將困難情況包裹在內。
- 優先選擇錯誤情況不可能發生的語意,而非讓每個呼叫者都要處理它。
- 將重要的領域複雜度移到另一個檔案不算簡化。

## 5. 在「整理這裡」或「這個檔案太大」的壓力下

絕不要單純因大小而拆分。一個 400 行模組隱藏一個決策,勝過四個 100 行模組洩漏相同的連結。問問每個拆分隱藏了什麼決策;如果沒有,就不要拆分。

## 6. 安全性

既有程式碼:在深化之前用測試鎖定目前行為。新程式碼:寫出定義預期行為的測試。

## 7. 報告

如果門檻觸發,請在最終訊息結尾附上 2-4 行設計說明:你新增的每個邊界及其隱藏的決策;你故意留下的重複及原因;你接受的任何淺層設計及原因。

對於有爭議的決定或完整審查,載入 `ousterhout-quality-program`。

標籤

designarchitecturecodingousterhoutauthor-time

延伸閱讀

DevOps 工程師撰稿人前端開發者銷售代表後端開發者教練與培訓師軟體架構師法律顧問QA 工程師財務與行政全棧開發者創意設計師移動開發者研究員安全工程師人事與招聘
專案經理翻譯Git 專家資料分析師SEO 專家會計本地化專員公關與傳播頭腦風暴者營運與物流營銷專員客戶服務專案助理採購專員社群營運私人助理

下載 AgentsRoom

在一個視窗中執行你所有專案的所有 AI 代理。

下載 AgentsRoom免費

配套應用:隨時隨地監控你的 Agent

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

獲取擴充功能
Chrome Web Store

把 Bug 和需求直接傳送到您的公開待辦清單。

像讀聊天記錄一樣讀代理

每個代理都有角色、頭像和一條對話執行緒,讀起來就像聊天應用。

對話檢視

AgentsRoom 對話檢視:AI 程式設計代理的工作以聊天執行緒呈現
多專案管理
多供應商
多代理執行
即時狀態
檔案差異與提交
行動應用
即時預覽
代理團隊
瀏覽器自動化
Backlog 驅動開發
提示詞庫
技能庫
檢視所有功能