dev-refactoring-catalog
程式碼重構目錄。提供基於 Martin Fowler 的重構模式、程式碼異味偵測到重構的對應、SOLID 原則違反識別,以及複雜度量測標準。適用於「重構」、「程式碼異味」、「SOLID 違反」、「複雜度」、「設計模式」、「程式碼品質」等程式碼結構改善審查任務。強化 architecture-reviewer 與…
Skill by vincent119
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vincent119-dev-refactoring-catalog
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/dev-refactoring-catalog
What's inside
- Skill name
dev-refactoring-catalog- Description
- 程式碼重構目錄。提供基於 Martin Fowler 的重構模式、程式碼異味偵測到重構的對應、SOLID 原則違反識別,以及複雜度量測標準。適用於「重構」、「程式碼異味」、「SOLID 違反」、「複雜度」、「設計模式」、「程式碼品質」等程式碼結構改善審查任務。強化 architecture-reviewer 與 performance-analyst 的分析能力。注意:直接修改程式碼與安全性分析不在此技能範圍內。
- License
- Apache-2.0
- Instructions
- 171 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Refactoring Catalog — 程式碼重構目錄
architecture-reviewer 與 performance-analyst 在程式碼結構分析時使用的程式碼異味到重構對應、SOLID 違反識別與複雜度指標參考。
## 此技能的功能
- 提供程式碼異味(Code Smells)識別與對應重構技術
- 提供 SOLID 原則違反的識別標準與修正方向
- 提供 Cyclomatic / Cognitive 複雜度量測標準
- 提供設計模式應用指南
## 適用時機
- 執行架構或效能程式碼審查
- 識別需要重構的程式碼結構
- 搭配 `dev-code-reviewer` 技能使用
## 觸發範例
- 「這個類別有哪些程式碼異味?」
- 「這段程式碼違反了哪些 SOLID 原則?」
- 「計算這個函式的 Cyclomatic Complexity」
- 「建議適合的設計模式」
---
## 程式碼異味到重構對應
### 大小相關異味
| 程式碼異味 | 症狀 | 重構技術 |
|-----------|------|---------|
| **Long Method** | 20+ 行 | Extract Method、Replace Temp with Query |
| **Large Class** | 300+ 行或 10+ 欄位 | Extract Class、Extract Subclass |
| **Long Parameter List** | 4+ 個參數 | Introduce Parameter Object、Builder Pattern |
| **Data Clumps** | 相同欄位群組重複出現 | Extract Class |
| **Primitive Obsession** | 用基本型別表達領域概念 | Value Object、Enum |
### 結構相關異味
| 程式碼異味 | 症狀 | 重構技術 |
|-----------|------|---------|
| **Feature Envy** | 過度使用另一個類別的資料 | Move Method |
| **Data Class** | 只有 getter/setter 的類別 | 將行為移入類別 |
| **Shotgun Surgery** | 一個變更影響多個類別 | Move Method/Field、Inline Class |
| **Divergent Change** | 一個類別因多種原因變更 | Extract Class(SRP) |
| **Duplicated Code** | 相同或相似程式碼重複 | Extract Method、Template Method |
| **Middle Man** | 只做委派的類別 | Remove Middle Man、Inline Class |
| **Inappropriate Intimacy** | 類別間過度耦合 | Move Method/Field、Extract Class |
| **Switch/If Chain** | 長條件分支 | Replace Conditional with Polymorphism、Strategy |
| **Refused Bequest** | 繼承但未使用的方法 | Replace Inheritance with Delegation |
| **Comments** | 複雜邏輯需要注釋解釋 | Extract Method(自我說明程式碼) |
---
## SOLID 原則違反識別
### S — 單一職責原則(SRP)
| 違反訊號 | 識別標準 | 重構方向 |
|---------|---------|---------|
| 類別名稱含 "And"、"Manager" | 暗示多重職責 | Extract Class |
| 2+ 個變更原因 | 「X 變更時這個類別要改,Y 變更時也要改」 | 依職責分離類別 |
| 高度多樣的 import | 同時 import DB、HTTP、UI、Logging | 層次分離 |
### O — 開放封閉原則(OCP)
| 違反訊號 | 識別標準 | 重構方向 |
|---------|---------|---------|
| 新增類型時修改 switch/if | 需要修改現有程式碼 | Strategy Pattern、Polymorphism |
| 硬編碼分支 | 每個新條件都加程式碼 | Plugin/Registry Pattern |
### L — Liskov 替換原則(LSP)
| 違反訊號 | 識別標準 | 重構方向 |
|---------|---------|---------|
| 子類別 override 拋出例外 | `NotImplementedError`、`UnsupportedOperationException` | Interface Segregation、繼承改組合 |
| 型別檢查後轉型 | `instanceof` / `typeof` 分支 | 用多型重新設計 |
### I — 介面隔離原則(ISP)
| 違反訊號 | 識別標準 | 重構方向 |
|---------|---------|---------|
| 空的介面實作 | `pass`、`{}`、`noop` | 介面隔離 |
| 「胖」介面 | 10+ 個方法 | 拆分為 Role Interfaces |
### D — 依賴反轉原則(DIP)
| 違反訊號 | 識別標準 | 重構方向 |
|---------|---------|---------|
| 直接實例化具體類別 | 硬編碼 `new ConcreteService()` | Dependency Injection |
| 上層模組 import 下層模組 | 業務邏輯直接使用 DB 函式庫 | Interface/Port 抽象 |
---
## 複雜度量測標準
### Cyclomatic Complexity
分支點(if/else/switch/for/while/catch)+ 1
| 分數 | 複雜度 | 行動 |
|------|--------|------|
| 1-5 | 低 | 適當 |
| 6-10 | 中 | 謹慎審查 |
| 11-20 | 高 | 建議重構 |
| 21+ | 極高 | 必須重構 |
### Cognitive Complexity
人類理解程式碼的難度,巢狀越深權重越高。
| 元素 | 基礎增量 | 巢狀加成 |
|------|---------|---------|
| if/else/switch | +1 | +巢狀層級 |
| for/while/do | +1 | +巢狀層級 |
| catch | +1 | +巢狀層級 |
| break/continue to label | +1 | — |
| 邏輯運算子鏈(&&、\|\|) | +1 | — |From vincent119/ai-rules-kit, Apache-2.0.
More from vincent119/ai-rules-kit
- 0.526score
financial-health-risk
vincent119
財務健康風險分析完整流程。讀入財務報表(PDF 或數字),分析流動性、獲利能力、槓桿、現金流、Altman Z-Score、成長性,產出多維度風險評估報告與改善建議。適用於「財務健康檢查」、「分析這份財報」、「financial risk…
SkillBFreshness: BClaude Code +9 - 0.526score
sdd-skill
vincent119
SDD(Spec Driven Development)工作流程。用於在實作前建立 .specs 下的 requirements.md、design.md、tasks.md,規劃功能邊界、驗收條件、技術設計與實作任務,並在實作過程中依 tasks 追蹤進度。
SkillBFreshness: BClaude Code +9 - 0.524score
skill-creator
vincent119
Guide for creating effective skills.
SkillBFreshness: BClaude Code +9 - 0.523score
readme
vincent119
建立、改善或稽核 GitHub 專案的 README。僅在使用者明確要求 README、README 正確性、可讀性、範例或 README 稽核時使用;不處理完整文件站、純 API reference 或廣泛 repository 審查。
SkillBFreshness: BClaude Code +9 - 0.523score
technical-writing
vincent119
建立、改善或稽核 README 以外的技術文件,例如架構文件、操作手冊、教學、ADR 與概念說明。僅在使用者明確要求此類文件時使用;README 需求應使用 readme skill。
SkillBFreshness: BClaude Code +9 - 0.521score
pres-presentation-designer
vincent119
簡報設計完整製作流程。協調 5 個製作階段:故事結構 → 資訊設計 → 視覺設計 → 講者備稿 → 品質審查,最終產出完整的簡報套件。適用於「製作簡報」、「Presentation 規劃」、「PPT 製作」、「Slide Deck…
SkillBFreshness: BClaude Code +9 - 0.521score
pres-slide-layout-patterns
vincent119
投影片版面模式庫。提供 20 種投影片類型的最佳版面配置、格線系統、色彩與字型設計 Token。適用於「投影片版面」、「Slide Layout」、「設計系統」、「格線」、「字型」、「色彩規範」等投影片視覺設計任務。強化 visual-designer 的設計能力。注意:PPT/Keynote…
SkillBFreshness: BClaude Code +9 - 0.521score
dev-code-reviewer
vincent119
自動化程式碼審查完整流程。協調 4 個審查領域:風格、安全性、效能、架構,最終產出綜合審查報告。適用於「review this code」、「看一下這段程式碼」、「程式碼審查」、「PR review」、「程式碼品質分析」、「安全性審查」、「效能審查」、「架構審查」、「程式碼風格檢查」等任務。支援指定單一領域審查。注意…
SkillBFreshness: BClaude Code +9 - 0.521score
dev-vulnerability-patterns
vincent119
程式碼漏洞模式資料庫。提供 Python/JS/Java/Go 語言特定的漏洞程式碼模式、CWE 分類、安全替代方案與嚴重度評估標準。適用於「漏洞模式」、「CWE」、「SQL Injection」、「XSS」、「安全漏洞」、「安全編碼」、「漏洞程式碼」等安全性審查任務。強化 security-analyst…
SkillBFreshness: BClaude Code +9 - 0.521score
pres-data-visualization-guide
vincent119
資料視覺化圖表選擇指南與資訊架構設計。提供圖表選擇矩陣、LATCH 資訊組織原則、數字格式化規範與色彩無障礙標準。適用於「圖表選擇」、「資料視覺化」、「資訊設計」、「Chart 類型」、「數據說故事」等視覺化表達任務。強化 info-architect 的設計能力。注意:圖表 BI 工具操作不在此技能範圍內。
SkillBFreshness: BClaude Code +9 - 0.518score
react-hooks-state
vincent119
React Hooks 與狀態管理模式。用於自訂 Hooks 設計、useReducer 複雜狀態、Context 架構、Server State 整合、表單狀態處理。
SkillBFreshness: BClaude Code +9 - 0.518score
release-workflow
vincent119
Standard release workflow - Test, tag, push.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 8, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/vincent119/ai-rules-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from vincent119
- 0.526score
financial-health-risk
vincent119
財務健康風險分析完整流程。讀入財務報表(PDF 或數字),分析流動性、獲利能力、槓桿、現金流、Altman Z-Score、成長性,產出多維度風險評估報告與改善建議。適用於「財務健康檢查」、「分析這份財報」、「financial risk…
SkillBFreshness: BClaude Code +9 - 0.526score
sdd-skill
vincent119
SDD(Spec Driven Development)工作流程。用於在實作前建立 .specs 下的 requirements.md、design.md、tasks.md,規劃功能邊界、驗收條件、技術設計與實作任務,並在實作過程中依 tasks 追蹤進度。
SkillBFreshness: BClaude Code +9 - 0.524score
skill-creator
vincent119
Guide for creating effective skills.
SkillBFreshness: BClaude Code +9 - 0.523score
readme
vincent119
建立、改善或稽核 GitHub 專案的 README。僅在使用者明確要求 README、README 正確性、可讀性、範例或 README 稽核時使用;不處理完整文件站、純 API reference 或廣泛 repository 審查。
SkillBFreshness: BClaude Code +9 - 0.523score
technical-writing
vincent119
建立、改善或稽核 README 以外的技術文件,例如架構文件、操作手冊、教學、ADR 與概念說明。僅在使用者明確要求此類文件時使用;README 需求應使用 readme skill。
SkillBFreshness: BClaude Code +9 - 0.521score
pres-presentation-designer
vincent119
簡報設計完整製作流程。協調 5 個製作階段:故事結構 → 資訊設計 → 視覺設計 → 講者備稿 → 品質審查,最終產出完整的簡報套件。適用於「製作簡報」、「Presentation 規劃」、「PPT 製作」、「Slide Deck…
SkillBFreshness: BClaude Code +9
Cite this page
dev-refactoring-catalog skill. Agent Mart. https://agentmart.dev/skills/vincent119-dev-refactoring-catalog (last updated 2026-10-24)