C++編碼規範–學習筆記
一、排版
(1)基本排版要求
- 代碼長度不超過80個字元
- 使用4個空格替代tab
- 一行隻寫一句代碼
- if/while/switch等之後的花括号要換行
- 添加空格和空行使代碼更加清晰
- 換行後注意縮進
- 變量申明對齊
(2)添加空格與空行
-
要加空格的位置
–二進制的數學和邏輯運算符号(雙目運算符)兩邊都加上一個空格
–逗号、分号隻在後面加空格
–if、while、for、switch等關鍵字與之後的左括号之間加空格
-
不加空格的位置
–函數名與之後的左括号質檢,帶參數的宏與之後的左括号之間不加空格
–單目操作前後不分空格,"->"、"."前後不加空格
–逗号、分号、冒号之間不加空格
-
要加空行的位置
–函數定義的前後
–一組聯系緊密的代碼段之間和之後
(3)換行縮進
- 代碼縮進統一以四個空格為機關
- 函數内容、條件語句、循環語句的執行部分需要縮進
(4)一行一句代碼
- 引起歧義,嚴重的可能引擎程式Bug
- 一行多句在IDE上跟蹤時不友善調試
二、命名
(1)命名基礎要求
-
簡約,但不簡單
–命名應簡練,可以用縮寫的就縮寫(sum、min、ave)
–不要過度使用縮寫,不适用不常見的縮寫
-
顧名思義
–命名應可以直覺地表達對象的含義作用
–函數名通常使用指令型的動詞,變量通常使用描述型名詞
–使用英文,不使用漢字拼音
-
一緻性
–命名法應在同一個項目中始終保持統一
(2)命名法
-
匈牙利命名法(适用于簡單類型變量名)
–開頭字母用變量類型的縮寫
–其餘部分用變量的英文或英文縮寫
–要求單詞第一個字母大寫
int iMyAge;
char cMyName[10];
float fManHeight;
-
駝峰式命名法(小駝峰命名法,适用于函數、變量、枚舉類型等)
–第一個單詞首字母小寫
–後面其他單詞首字母大寫
int myAge;
char myName[10];
float manHegiht;
-
帕斯卡命名法(大駝峰命名法,适用于類和結構體)
–每個單詞的第一個字母都大寫
int MyAge;
char MyName[10];
float ManHeight;
-
Unix命名法(下劃線命名法,适用于檔案命名、namespace,宏、常量、枚舉值采用Unix命名法+全部大寫)
–所有字母小寫
–各單詞之間用下劃線分隔
int my_age_;
char my_name[10];
float man_height_;
三、注釋
(1)檔案注釋
- 位于檔案開頭
- 文檔化風格
- 内容:功能描述,作者資訊,編碼更新日期等
- VSCode可通過KoroFileHeader自動生成
(2)類注釋
- 位于類聲明的上方
- 内容:功能描述,作者資訊,編寫日期等資訊
- VSCode可通過KoroFileHeader自動生成
(3)函數注釋
- 位于函數聲明的上方
- 内容:函數功能,參數,傳回值、線程安全等資訊
- 在函數實作處使用介于自然語言和程式語音之間的僞語言,添加具體算法描述
(4)其他注釋
-
變量、常量注釋
–含義簡單可以選擇行内注釋
–含義複雜可以在聲明的上方注釋
-
作用域注釋、條件編譯注釋
–在作用域或條件編譯語句結束的位置添加