我個人寫一些小的項目時,總結的一套自己用的C++編程規範。
命名規範
變量命名規範
變量命名格式爲[前綴_](變量名)[_後綴]
其中,方括號[]
表示可選,變量名每個單詞以下劃線_
分隔
注意begin_
表示begin
爲一個前綴,_end
表示end
爲一個後綴
前綴/後綴 | 代表的含義 |
---|---|
p_ | 指針(ptr) |
pd_ | 指向顯存的指針(ptr device) |
c_ | 常量(const) |
m_ | 類成員變量(member) |
n_ | 整型 |
b_ | bool類型 |
f_ | float類型 |
s_ | set類型 |
v_ | 數組(vector) |
_ | 後綴爲下劃線_表示這是一個私有變量 |
g_ | 全局變量(global) |
t_ | 表示這是函數的形參(the) |
t_ | 表示這是函數的形參(the) |
類定義
一般來說每個類單獨一個文件,
前綴/後綴 | 代表的含義 |
---|---|
_Interface | 表示這是接口類(純虛類) |
c_ | 類的名稱都要以小寫字母“c”開頭,後跟一個或多個單詞。爲便於界定,每個單詞的首字母要大寫。例如:cAnalyzer |
函數命名
函數名以大寫字母開頭,每個單詞首字母大寫,沒有下劃線
void SetQuackBehavior(cQuackBehavior *pQuackBehavior)
文件命名
- 對於類文件,類文件與類同名,用前綴小寫c表示這是個類文件。一個類對應一個源文件和頭文件 。
- 源文件用
.cc
作爲後綴 - 頭文件用
.hh
作爲後綴
宏定義
- 可定義幾個空的宏,指示函數形參是輸入還是輸出
#define IN(x) x #define OUT(x) x #define INOUT(x) x
- 宏變量需要加括號(防止拿宏進行運算時因符號優先級導致預料之外的錯誤)
- 宏表達式每個值都要加括號,例如:
TODO:編程規範
相關/參考鏈接
- 《google編程規範》