# Coding Standards (Phase 1) ## 語言與標準 - C++98 為主要標準(舊代碼相容)。 - 禁止使用危險 API:偏好安全封裝;必要時以註解說明風險與保護措施。 ## 格式(由 `.clang-format` 強制) - BasedOnStyle: LLVM,IndentWidth: 4,ColumnLimit: 100。 - 以 pre-commit 與 CI 確保格式一致性。 ## 一般規範 - 生命週期:new/delete 成對,避免裸指標長期持有;儘量早釋放資源。 - 控制流:避免過深巢狀;優先早回傳以簡化邏輯。 - 註解:描述「為何」而非「做什麼」。 - 介面:標頭檔最小公開;避免不必要的 include,採前置宣告以降低耦合。 ## Tidy 規則(Phase 1) - 啟用:`clang-analyzer-*` 與精選 `bugprone-*`,聚焦重大缺陷(洩漏、未定義行為)。 - 停用:`modernize-*`、`readability-*`(後續階段再逐步導入)。 ## 例外處理 - 舊代碼可逐步改善;若需暫時抑制特定告警,請附上註解與追蹤項(TODO/issue)。