天天看點

C++編碼規範C++編碼規範–學習筆記

C++編碼規範–學習筆記

C++編碼規範C++編碼規範–學習筆記

一、排版

(1)基本排版要求

  1. 代碼長度不超過80個字元
  2. 使用4個空格替代tab
  3. 一行隻寫一句代碼
  4. if/while/switch等之後的花括号要換行
  5. 添加空格和空行使代碼更加清晰
  6. 換行後注意縮進
  7. 變量申明對齊

(2)添加空格與空行

  1. 要加空格的位置

    –二進制的數學和邏輯運算符号(雙目運算符)兩邊都加上一個空格

    –逗号、分号隻在後面加空格

    –if、while、for、switch等關鍵字與之後的左括号之間加空格

  2. 不加空格的位置

    –函數名與之後的左括号質檢,帶參數的宏與之後的左括号之間不加空格

    –單目操作前後不分空格,"->"、"."前後不加空格

    –逗号、分号、冒号之間不加空格

  3. 要加空行的位置

    –函數定義的前後

    –一組聯系緊密的代碼段之間和之後

(3)換行縮進

  1. 代碼縮進統一以四個空格為機關
  2. 函數内容、條件語句、循環語句的執行部分需要縮進

(4)一行一句代碼

  1. 引起歧義,嚴重的可能引擎程式Bug
  2. 一行多句在IDE上跟蹤時不友善調試
C++編碼規範C++編碼規範–學習筆記

二、命名

(1)命名基礎要求

  1. 簡約,但不簡單

    –命名應簡練,可以用縮寫的就縮寫(sum、min、ave)

    –不要過度使用縮寫,不适用不常見的縮寫

  2. 顧名思義

    –命名應可以直覺地表達對象的含義作用

    –函數名通常使用指令型的動詞,變量通常使用描述型名詞

    –使用英文,不使用漢字拼音

  3. 一緻性

    –命名法應在同一個項目中始終保持統一

(2)命名法

  1. 匈牙利命名法(适用于簡單類型變量名)

    –開頭字母用變量類型的縮寫

    –其餘部分用變量的英文或英文縮寫

    –要求單詞第一個字母大寫

int iMyAge;
char cMyName[10];
float fManHeight;
           
  1. 駝峰式命名法(小駝峰命名法,适用于函數、變量、枚舉類型等)

    –第一個單詞首字母小寫

    –後面其他單詞首字母大寫

int myAge;
char myName[10];
float manHegiht;
           
  1. 帕斯卡命名法(大駝峰命名法,适用于類和結構體)

    –每個單詞的第一個字母都大寫

int MyAge;
char MyName[10];
float ManHeight;
           
  1. Unix命名法(下劃線命名法,适用于檔案命名、namespace,宏、常量、枚舉值采用Unix命名法+全部大寫)

    –所有字母小寫

    –各單詞之間用下劃線分隔

int my_age_;
char my_name[10];
float man_height_;
           
C++編碼規範C++編碼規範–學習筆記

三、注釋

(1)檔案注釋

  1. 位于檔案開頭
  2. 文檔化風格
  3. 内容:功能描述,作者資訊,編碼更新日期等
  4. VSCode可通過KoroFileHeader自動生成

(2)類注釋

  1. 位于類聲明的上方
  2. 内容:功能描述,作者資訊,編寫日期等資訊
  3. VSCode可通過KoroFileHeader自動生成

(3)函數注釋

  1. 位于函數聲明的上方
  2. 内容:函數功能,參數,傳回值、線程安全等資訊
  3. 在函數實作處使用介于自然語言和程式語音之間的僞語言,添加具體算法描述

(4)其他注釋

  1. 變量、常量注釋

    –含義簡單可以選擇行内注釋

    –含義複雜可以在聲明的上方注釋

  2. 作用域注釋、條件編譯注釋

    –在作用域或條件編譯語句結束的位置添加

繼續閱讀