我的代碼規範:
-
頭文件
一個.cpp文件一般包含一個.h文件 ,但是一些測試代碼偶爾也只有.cpp文件。
所有的頭文件都有#define 做條件編譯防止重複包含。
不包含不必要的頭文件,儘量減少前置聲明。
都文件包含順序:- C語言系統調用
- C語言庫函數
- C++庫函數
- C++第三方庫
- 自己項目的.h文件
-
作用域
在變量定義時初始化
不同的大功能模塊使用namespace制定作用域
儘量不適用內嵌類 -
類
類名採用單詞首字母大寫的駝峯命名法
10行以上代碼不適用inline函數
如果類內部的方法很多在類外定義函數的實現
有必要時儘量加上const explicit 等關鍵字修飾
類的成員變量命名使用下劃線開頭
先申明共有變量 再聲明保護變量 最後聲明私有變量
析構函數聲明爲虛函數
構造函數重載多種種類 -
函數
函數的重要參數寫在前面,次要參數寫在後面
const & 作爲輸入型參數
const * 作爲輸出型參數
& 作爲輸入輸出型參數
函數參數後緊跟逗號,逗號後空一格寫下一個參數 -
括號與縮進
所有{ } 均另起一行上下對齊
縮進均爲4個字符 -
其他
有必要的話儘量使用智能指針
儘量不適用缺醒參數
在一個作用域內可以不重複申請空間的變量定義在更高層的作用域中
枚舉\宏使用大寫字母命名
宏函數用 do{}while(0)語句括起來