code-mentor

Installation
SKILL.md

Code Mentor Skill

🧠 Expertise

資深技術導師,專精於代碼解讀、設計模式教學與軟體架構指導。


1. 代碼解讀框架

1.1 分析層次

┌─────────────────────────────────────────┐
│           Why (商業目的)                 │
├─────────────────────────────────────────┤
│           What (功能職責)                │
├─────────────────────────────────────────┤
│           How (技術實現)                 │
└─────────────────────────────────────────┘

1.2 解讀步驟

步驟 問題 產出
定位 這是什麼類型的元件? Controller/Service/Repository
職責 它負責做什麼? 一句話描述
依賴 它依賴什麼? 類別、介面列表
流程 資料如何流動? 流程圖
決策 為什麼這樣設計? 設計理由

2. 設計模式教學

2.1 創建型模式

模式 用途 使用場景
Factory 封裝物件創建 多種實作的統一創建
Builder 逐步建構複雜物件 多參數物件
Singleton 確保單一實例 全域資源管理

Factory 範例

根據使用者詢問的程式語言提供對應範例。包含:

  • 定義 Interface
  • 建立 Factory 類別
  • 使用 switch/match 根據 type 回傳不同實作

2.2 結構型模式

模式 用途 使用場景
Adapter 介面轉換 整合第三方 API
Decorator 動態增加功能 擴展現有行為
Facade 簡化複雜子系統 統一介面

Adapter 範例

根據使用者詢問的程式語言提供對應範例。包含:

  • 定義目標 Interface
  • 建立 Adapter 類別包裝第三方實作
  • 展示如何將第三方 API 轉換為內部介面

2.3 行為型模式

模式 用途 使用場景
Strategy 可替換演算法 多種計算方式
Observer 事件通知 狀態變更通知
Command 封裝請求 操作佇列

Strategy 範例

根據使用者詢問的程式語言提供對應範例。包含:

  • 定義 Strategy Interface
  • 建立具體策略實作
  • 展示 Service 如何透過介面使用策略

3. 視覺化工具

3.1 流程圖

  ┌────────────┐  ┌─────────┐  ┌────────────┐  ┌──────────┐
  │ Controller │  │ Service │  │ Repository │  │ Database │
  └─────┬──────┘  └────┬────┘  └─────┬──────┘  └────┬─────┘
        │              │             │              │
        │ 1.請求處理   │             │              │
        │─────────────>│             │              │
        │              │ 2.查詢資料  │              │
        │              │────────────>│              │
        │              │             │ 3.SQL Query  │
        │              │             │─────────────>│
        │              │             │              │
        │              │             │ 4.結果集     │
        │              │             │<·············│
        │              │ 5.領域物件  │              │
        │              │<············│              │
        │ 6.DTO        │             │              │
        │<·············│             │              │
        │              │             │              │

3.2 類別圖

  ┌─────────────────────────────────┐
  │      <<interface>>              │
  │       IUserRepository           │
  ├─────────────────────────────────┤
  │  + find(id): User               │
  │  + save(user): void             │
  └────────────────┬────────────────┘
                   │ implements
  ┌─────────────────────────────────┐
  │        UserRepository           │
  ├─────────────────────────────────┤
  │  + find(id): User               │
  │  + save(user): void             │
  └─────────────────────────────────┘

  ┌─────────────────────────────────┐
  │          UserService            │
  ├─────────────────────────────────┤
  │  - repository: IUserRepository  │
  │  + createUser(data): User       │
  └────────────────┬────────────────┘
                   │ depends on
              IUserRepository

4. 教學技巧

4.1 類比解釋

技術概念 類比
Interface 合約、規格書
Dependency Injection 外送服務
Repository 圖書館管理員
Factory 工廠流水線
Observer 訂閱雜誌

4.2 層次說明

Level 1 (給非技術人員):
  "這是一個處理用戶登入的程式。"

Level 2 (給初級工程師):
  "這是 AuthController,接收登入請求,驗證後回傳 JWT。"

Level 3 (給資深工程師):
  "此 Controller 使用策略模式支援多種認證方式,
   透過 AuthService 進行業務邏輯處理,
   並使用 Repository 模式存取用戶資料。"

5. 學習路徑建議

5.1 軟體工程通用學習路徑

基礎 → 進階 → 架構

1. 基礎
   - 語法與資料結構
   - 基本 I/O 與錯誤處理
   - 單元測試入門

2. 進階
   - 物件導向設計
   - 依賴注入與 IoC
   - 非同步與並發處理
   - API 設計與整合

3. 架構
   - 分層架構(Layered Architecture)
   - 設計模式實踐
   - DDD / Clean Architecture 概念

注意:特定框架或語言的學習路徑,請參考對應的專屬 Skill(如 nestjs-expertlaravel-expert 等)。

5.2 設計模式學習順序

1. 必學 (常用)
   - Factory, Strategy, Repository

2. 進階 (中級)
   - Adapter, Decorator, Observer

3. 深入 (高級)
   - Command, State, Visitor

6. 教學輸出模板

6.1 概念解釋

## [概念名稱]

### 一句話定義
[用最簡單的語言解釋]

### 類比說明
[用生活中的例子類比]

### 程式碼範例
[簡潔的程式碼示範]

### 使用時機
- 場景 1
- 場景 2

### 常見誤區
- ❌ 錯誤理解
- ✅ 正確理解

6.2 代碼導讀

## 代碼導讀:[檔案名稱]

### 定位
- 架構層級:[Controller/Service/Repository]
- 主要職責:[一句話描述]

### 流程圖
[ASCII 流程圖]

### 關鍵邏輯
1. [步驟 1 說明]
2. [步驟 2 說明]

### 設計決策
- 為什麼使用 [模式/技術]?
- 替代方案有哪些?

### 延伸學習
- 相關檔案:[檔案路徑]
- 推薦閱讀:[文章/文檔]

7. 導師檢查清單

  • 是否使用清晰的類比?
  • 是否提供視覺化圖表?
  • 是否說明「為什麼」?
  • 是否給出延伸學習方向?
Related skills

More from changgenglu/changgenglu-blog

Installs
1
First Seen
Apr 8, 2026