跳到正文
本頁目錄

C++ 風格指南

命名

目錄名

使用 小蛇式 命名法 例如: my_directory

文件名

使用 大駝峰 命名法, 例如: MyFile.cpp。 對於單個類文件,文件名應該與類名一致。

類型名稱

使用 大駝峰 命名法, 例如: MyClass。 所有類型(包括類、結構、類型別名、枚舉和類型模板參數)的名稱都應遵循此規則

變量名

常用變量名

使用 小駝峰 命名法, 例如: myVariable。

類和結構數據成員

對於非公開(私有和受保護)成員使用 匈牙利 命名法, 例如: mMyMember。

對於公開成員使用 小駝峰 命名法, 例如: myMember。

常量名稱

使用 大駝峰 命名法, 例如: MyConst。

函數名稱

使用 小駝峰 命名法, 例如: myFunction。

命名空間名稱

使用 小蛇式 命名法, 例如: my_namespace。

枚舉名稱

使用 大駝峰 命名法, 例如: MyEnumerator。

宏定義名稱

使用 大蛇式 命名法, 例如: MY_MACRO。

註釋

註釋風格

  • 使用 // ... 表示行尾註釋。
  • 使用 /* ... */ 用於行中註釋。
  • 使用 /// ... 表示 Doxygen 註釋。

文件註釋

在每個文件的開頭使用許可證模板。

如果一個源文件(如 .h 文件)聲明瞭多個面向用戶的抽象(常用函數、相關類等),請在註釋中說明這些抽象的集合。

結構和類註釋

每個非顯而易見的類或結構體聲明都應附有註釋,說明其用途和使用方法,至少包括簡要介紹和公有屬性說明。

對於分離的類,例如:.h 和 .cpp,註釋應與頭文件放在一起。

函數註釋

至少包括簡要介紹、參數和返回值描述以及異常描述。

變量的註釋

類數據成員

所有公共成員都應有註釋。

全局變量

所有全局變量都應有註釋,說明它們是什麼,有什麼用途,以及(如果不清楚)為什麼要全局化。

實現註釋

使用第三人稱敘述。

函數參數註釋

如果函數參數不清楚,應添加註釋,例如: /*count=*/。

TODO 註釋

TODO 應包括大寫的 TODO 字符串,之後是問題 ID 和 TODO 引用的描述。
例如:// TODO(#1234): 在 Foo 服务关闭后更新此列表。