vault backup: 2025-08-04 16:59:03
Affected files: 00.00 Inbox/clean code.md
This commit is contained in:
100
00.00 Inbox/clean code.md
Normal file
100
00.00 Inbox/clean code.md
Normal 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與效能的權衡
|
||||
- 常見效能反模式避免
|
||||
|
||||
- **建立個人程式碼品質標準**
|
||||
|
||||
# 參考來源
|
||||
Reference in New Issue
Block a user