品質維度
- 可讀性:一致的命名規範、適當的註解、清晰的程式結構
- 可維護性:低耦合高內聚、DRY 原則、避免長函數
- 效率:演算法複雜度合理、資源使用優化
- 可靠度:錯誤處理完善、邊界條件考慮周全、單元測試覆蓋率高
命名規範
# 變數:小寫 + 底線
user_name = "Alice"
is_active = True
# 類別:駝峰式
class UserAccount:
pass
# 常數:全大寫
MAX_RETRY_COUNT = 3
# 函數:動詞或動詞片語
def get_user_info(user_id):
pass
技術債
技術債由 Ward Cunningham 提出,是為趕進度而做出的非最佳技術決策,類似金融債務需要償還利息。類型包括:
- 程式碼層級:重複程式碼、複雜條件
- 設計層級:緊密耦合、缺乏抽象層
- 測試層級:缺乏單元測試、低覆蓋率
- 文件層級:過時文件、缺少架構文件
重構
重構是在不改變外部行為的前提下改善內部結構。常見重構手法:提煉函數、搬移欄位、以多型取代條件式、拆分循環等。充分的測試覆蓋是安全重構的基礎。