{{書名}} 比喻註冊表
概述
本文件管理全書使用的比喻映射關係。每個核心技術概念最多綁定 一個主比喻,在全書範圍內保持一致。
比喻質量標準
一個好的比喻應該滿足:
- ✅ 準確性: 比喻的關鍵特徵與技術概念的關鍵特徵匹配
- ✅ 熟悉度: 目標讀者對比喻本體足夠熟悉
- ✅ 可擴展性: 能延伸到概念的多個方面,不會在某個點上"破裂"
- ✅ 無歧義: 不會讓讀者產生錯誤理解
比喻註冊表
| 技術概念 | 綁定比喻 | 首次使用章節 | 狀態 | 注意事項 |
|---|---|---|---|---|
| event loop | 餐廳服務員:一個服務員(單線程)輪流服務多桌客人(任務),不會在一桌前傻等上菜(非阻塞),而是先去服務下一桌 | ch{{N}} | 活躍 | 不要延伸到"多個服務員"的場景,那是多線程。強調的是"單人輪轉"而非"並行服務" |
| middleware | 流水線工人:每個工人(中間件)對傳送帶上的產品(請求)做一道加工,可以加工後傳給下一個工人,也可以直接把不合格品退回(終止請求) | ch{{N}} | 活躍 | 強調"順序執行"和"可以中斷"兩個特性。不要延伸到"工人之間可以交流"——中間件之間通過req/res通信,不是直接通信 |
| closure | 揹包:函數離開了定義它的教室(作用域),但帶走了一個揹包(閉包),裏面裝着教室裏的課本(變量) | ch{{N}} | 活躍 | 強調"帶走"和"仍然可以訪問"。不要說"揹包裏的東西會變"——雖然技術上閉包可以修改外部變量,但這個延伸容易讓初學者困惑 |
| {{技術概念}} | {{綁定比喻}} | ch{{N}} | {{活躍/廢棄}} | {{注意事項}} |
廢棄比喻記錄
| 技術概念 | 原比喻 | 廢棄原因 | 替代比喻 | 廢棄日期 |
|---|---|---|---|---|
| {{概念}} | {{原來的比喻}} | {{爲什麼廢棄,如"讀者反饋容易產生誤解"}} | {{新比喻,應已在上面的註冊表中註冊}} | {{YYYY-MM-DD}} |
衝突檢測規則
規則1: 一概念一比喻
同一個技術概念在全書範圍內只能使用 一個主比喻。
- ❌ 違規示例: 第3章把 event loop 比作"交通警察",第7章比作"傳送帶"
- ✅ 正確做法: 全書統一使用"餐廳服務員",在不同章節中可以延伸該比喻的不同方面
規則2: 不同概念不共享比喻
兩個不同的技術概念不能使用相同的比喻,否則讀者會混淆。
- ❌ 違規示例: middleware 用"流水線",pipeline 也用"流水線"
- ✅ 正確做法: 爲相關但不同的概念設計有區分度的比喻
規則3: 比喻延伸需一致
如果在第3章說"middleware像流水線工人",後續章節可以延伸(如"給流水線加了質檢站"),但不能矛盾(如"流水線工人可以同時處理多個產品"——這和middleware的串行特性矛盾)。
規則4: 新比喻先註冊
任何新比喻 必須先在本文件註冊,然後才能在正文中使用。註冊時需檢查:
- [ ] 該概念是否已有綁定比喻?
- [ ] 新比喻是否與已有比喻衝突?
- [ ] 新比喻是否滿足上面的"比喻質量標準"?
規則5: 簡單概念不強制比喻
並非所有概念都需要比喻。如果概念本身足夠直觀(如"變量賦值"),強行使用比喻反而會增加認知負擔。
按章節索引
第{{N}}章: {{章標題}}
- {{技術概念A}} → {{比喻A}}
- {{技術概念B}} → {{比喻B}}