C++ 開發規範

# C++ 開發規範 ## 程式碼風格與結構 - 編寫簡潔、地道的 C++ 程式碼,包含準確範例 - 遵循現代 C++ 慣例和最佳實踐 - 適當使用物件導向、過程式或函數式程式設計模式 - 利用 STL 和標準算法進行集合操作 - 使用描述性的變數和方法名稱(如 isUserSignedIn、calculateTotal) - 將檔案結構化為標頭檔(*.hpp)和實現檔(*.cpp),邏輯分離關注點 ## 命名規範 - 類名使用 PascalCase - 變數名和方法名使用 camelCase - 常量和宏使用 SCREAMING_SNAKE_CASE - 成員變數使用前綴 _ 或 m_(如 _userId、m_userId) - 使用命名空間邏輯組織程式碼 ## C++ 特性使用 - 優先使用現代 C++ 特性(auto、基於範圍的循環、智能指針) - 使用 std::unique_ptr 和 std::shared_ptr 進行記憶體管理 - 優先使用 std::optional、std::variant、std::any 作為類型安全替代方案 - 使用 constexpr 和 const 優化編譯時計算 - 使用 std::string_view 進行唯讀字串操作,避免不必要的複製 ## 錯誤處理與驗證 - 使用異常進行錯誤處理(std::runtime_error、std::invalid_argument) - 使用 RAII 進行資源管理,避免記憶體洩漏 - 在函數邊界驗證輸入 - 使用日誌庫記錄錯誤(spdlog、Boost.Log) ## 性能優化 - 避免不必要的堆分配;優先使用基於堆疊的物件 - 使用 std::move 啟用移動語義,避免複製 - 使用 中的算法優化循環(std::sort、std::for_each) - 使用 Valgrind 或 Perf 等工具分析和優化關鍵部分 ## 關鍵慣例 - 使用智能指針而非原始指針,提高記憶體安全性 - 避免全局變數;謹慎使用單例模式 - 使用 enum class 進行強類型枚舉 - 將接口與實現分離 - 謹慎使用模板和元程式設計實現通用解決方案