Skip to content
Back to skills

Cognitive Load Assessment

ASecurity

認知負擔評估工具。作為決策樹、代理人、Code Review 的基本參考標準。用於: (1) 任務複雜度評估, (2) 代理人升級判斷, (3) 任務拆分建議, (4) 程式碼品質評估

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
developmentbash

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill cognitive-load-assessment --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cognitive Load Assessment?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cognitive Load Assessment
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-cognitive-load-assessment/badge)](https://www.skillsdirectory.com/skills/majiayu000-cognitive-load-assessment)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cognitive-load
description: "認知負擔評估工具。作為決策樹、代理人、Code Review 的基本參考標準。用於: (1) 任務複雜度評估, (2) 代理人升級判斷, (3) 任務拆分建議, (4) 程式碼品質評估"
---

# 認知負擔評估工具

## 核心理念

> **所有程式碼設計原則的終極目標:降低閱讀者的認知負擔**

認知負擔是指閱讀者在理解程式碼時需要**同時記住**的資訊量。當認知負擔超過人類工作記憶的容量(約 7 個項目),理解和維護程式碼就會變得困難。

---

## 量化標準快速參考

### 任務複雜度閾值

| 指標 | 低複雜度 | 中複雜度 | 高複雜度(需拆分) |
|------|---------|---------|------------------|
| 變數狀態數 | 1-3 | 4-5 | > 5 |
| 修改檔案數 | 1-3 | 4-5 | > 5 |
| 架構層級數 | 1 | 2 | > 2 |
| 依賴模組數 | 0-1 | 2-3 | > 3 |
| 呼叫追蹤層 | 1-2 | 3 | > 3 |

### 代理人升級閾值

| 指標 | 閾值 | 行動 |
|------|------|------|
| 需追蹤概念數 | > 7 | 升級到 PM |
| 無法 5 分鐘理解 | 是 | 升級到 PM |
| 跨 2+ 架構層 | 是 | 請求拆分或協作 |

### 並行派發判斷

| 條件 | 可並行 | 需序列 |
|------|--------|--------|
| 架構層級 | 同一層 | 跨層 |
| 邏輯依賴 | 無 | 有 |
| 操作類型 | 重命名/格式化 | 設計變更 |

---

## 認知負擔的來源

### 1. 變數狀態追蹤

每個變數都是閱讀者需要「記住」的項目:

| 情況 | 認知負擔 | 建議 |
|------|---------|------|
| 變數數 <= 3 | 低 | 維持 |
| 變數數 4-5 | 中 | 考慮重構 |
| 變數數 > 5 | 高 | 必須拆分 |

### 2. 呼叫層級追蹤

追蹤呼叫鏈需要「堆疊」記憶:

| 層級 | 認知負擔 | 建議 |
|------|---------|------|
| 1-2 層 | 低 | 維持 |
| 3 層 | 中 | 考慮扁平化 |
| > 3 層 | 高 | 必須重構 |

### 3. 命名品質

不佳的命名增加「翻譯」負擔:

| 問題 | 範例 | 解決 |
|------|------|------|
| 縮寫不明 | `btn`, `mgr`, `idx` | `button`, `manager`, `index` |
| 含義模糊 | `data`, `info`, `value` | 具體化:`userData`, `bookInfo` |
| 型別前綴 | `strName`, `intCount` | 直接用 `name`, `count` |

### 4. 條件分支複雜度

每個分支都是需要考慮的「路徑」:

| 分支數 | 認知負擔 | 建議 |
|--------|---------|------|
| 1-2 | 低 | 維持 |
| 3-4 | 中 | 考慮策略模式 |
| > 4 | 高 | 必須重構 |

---

## 降低認知負擔的原則

### 原則 1:單一責任

> 一個函式只做一件事,讓讀者只需理解一個概念

檢查問題:「這個函式做了幾件事?」

### 原則 2:自說明命名

> 名稱本身就是文件,讓讀者不需要額外資訊

檢查問題:「不看實作,能從名稱理解功能嗎?」

### 原則 3:避免副作用

> 函式的行為應該可預測,讓讀者不需要追蹤隱藏狀態

檢查問題:「這個函式有沒有修改輸入以外的東西?」

### 原則 4:扁平化結構

> 減少巢狀,讓讀者不需要追蹤深層上下文

檢查問題:「最深的巢狀層級是多少?(應 <= 3)」

### 原則 5:資訊就近原則

> 相關的資訊應該放在一起,讓讀者不需要跳轉尋找

檢查問題:「理解這段程式碼需要跳到幾個地方?」

---

## 自我檢查清單

### 任務開始前

- [ ] 我需要同時記住多少個概念?(應 < 7)
- [ ] 我需要閱讀多少個檔案才能完成?(應 < 5)
- [ ] 我能用一句話說明這個任務嗎?
- [ ] 5 分鐘後我還記得任務目標嗎?

### 程式碼撰寫時

- [ ] 這個函式需要追蹤幾個變數?(應 < 5)
- [ ] 讀者能在當下理解這段程式碼嗎?
- [ ] 函式名稱說明「做什麼」而非「怎麼做」?
- [ ] 巢狀層級是否超過 3 層?

### Code Review 時

- [ ] 新程式碼是否增加了模組的複雜度?
- [ ] 有沒有更簡單的方式達成同樣目的?
- [ ] 命名是否清晰自說明?
- [ ] 是否需要額外註解才能理解?(應該不需要)

---

## 與其他方法論的關係

| 方法論 | 認知負擔視角 |
|--------|-------------|
| DRY | 減少重複 = 減少需要記憶的版本 |
| SOLID | 每個原則都在降低特定類型的認知負擔 |
| Clean Code | 可讀性 = 低認知負擔 |
| 自然語言程式設計 | 讓程式碼像閱讀文章一樣自然 |

---

## 使用方式

### 評估任務複雜度

```bash
# 在開始任務前,快速評估
# 回答以下問題:

1. 這個任務需要修改幾個檔案?
2. 需要追蹤幾個變數狀態?
3. 跨越幾個架構層級?
4. 依賴幾個其他模組?

# 如果任一項超過閾值,考慮拆分任務
```

### 程式碼品質評估

```bash
# 在 Code Review 時,檢查:

1. 函式長度(應 5-15 行)
2. 參數數量(應 <= 3)
3. 巢狀深度(應 <= 3)
4. 變數數量(應 < 5)
```

---

## 相關文件

- [認知負擔量化標準](./thresholds.md) - 詳細閾值參考
- [認知負擔設計方法論]($CLAUDE_PROJECT_DIR/.claude/methodologies/cognitive-load-design-methodology.md) - 完整理論基礎
- [自然語言程式設計方法論]($CLAUDE_PROJECT_DIR/.claude/methodologies/natural-language-programming-methodology.md) - 命名最佳實踐
- [代理人職責矩陣]($CLAUDE_PROJECT_DIR/.claude/rules/agents/overview.md) - 升級判斷標準
- [任務拆分指南]($CLAUDE_PROJECT_DIR/.claude/rules/guides/task-splitting.md) - 拆分方法

---

**Last Updated**: 2026-01-28
**Version**: 1.1.0

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.