vault backup: 2025-08-04 16:59:03

Affected files:
00.00 Inbox/clean code.md
This commit is contained in:
2025-08-04 16:59:03 +08:00
parent 8b1037cd37
commit f1c989adf7

100
00.00 Inbox/clean code.md Normal file
View File

@@ -0,0 +1,100 @@
---
tags:
aliases:
date: 2025-08-04
time: 16:49:36
description:
---
# 核心設計原則
本課程遵循3Rs架構
1. 可讀性Readability讓程式碼易於理解和維護
2. 可重用性Reusability減少重複程式碼提高開發效率
3. 可重構性Refactorability支援模組化設計和持續改進
# 第一階段:基礎理論與核心原則
- **Clean Code定義與重要性**
- 什麼是Clean Code易讀、易懂、易維護的程式碼
- 技術債務的概念與影響
- 童子軍規則:讓程式碼比接手時更乾淨
- **有意義的命名規範**
- 使用具描述性且明確的變數名稱
- 函式命名:動詞片語表達動作意圖
- 類別命名:名詞表達實體概念
- 避免縮寫和神秘數字
- **函式設計原則**
- 單一職責原則:一個函式只做一件事
- 函式長度控制目標在20行以下
- 參數管理最多3個參數的建議
- 避免副作用與Flag參數
- **程式碼組織結構**
- 降層原則:由上到下的閱讀順序
- 錯誤處理:使用例外處理取代錯誤碼
- **註解最佳實踐**
- 何時需要註解,何時不需要
- 讓程式碼自我說明
- 有效註解的撰寫技巧
- **程式碼格式化**
- 一致性的重要性
- 縮排與空白字元的運用
- 程式碼區塊的邏輯分組
# 第二階段:進階設計原則
- **五大SOLID原則詳解**
- **S**單一職責原則SRP
- **O**開放封閉原則OCP
- **L**里氏替換原則LSP
- **I**介面隔離原則ISP
- **D**依賴反轉原則DIP
- **實務應用案例**
- 每個原則的程式碼範例
- 違反原則的常見問題
- **常用設計模式**
- 工廠模式:封裝物件創建
- 策略模式:演算法替換
- 觀察者模式:事件處理
- 裝飾者模式:功能擴展
- **重構基本概念**
- 重構定義:改善內部結構不影響外部行為
- 重構時機:三次法則與預備性重構
- 安全重構:依賴測試確保正確性
- **常用重構手法**
- 提取方法Extract Method
- 封裝成員變數Encapsulate Field
- 方法更名Rename Method
- 消除重複程式碼
# 第三階段:實戰應用
- **TDD基本概念與流程**
- 紅燈-綠燈-重構循環
- 單元測試的撰寫技巧
- 測試覆蓋率與品質指標
- **專案案例分析**
- BMI計算機Clean Code版本實作
- 購物車系統的Clean Code改造
- 登錄註冊系統的重構實戰
- **程式碼審查流程**
- 審查清單建立
- 給予建設性回饋的技巧
- 處理團隊中程式碼品質分歧
# 第四階段:進階實踐
- **效能最佳化考量**
- 何時最佳化?
- Clean Code與效能的權衡
- 常見效能反模式避免
- **建立個人程式碼品質標準**
# 參考來源