首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Google C++ 風格指南(五):命名慣例完整規範

     編輯:關於C++

命名管理核心價值

命名風格讓大腦模式匹配引擎**無需查閱宣告**即可識別實體類型(型別、變數、函式、常數、巨集)。一致性勝過個人偏好。

1. 通用原則

  • **描述性優於縮寫**:num_errors 好過 nerr、n。
  • **勿隨意縮寫**:除非領域通用(如 DNS、HTML),否則拼寫完整單字。
  • 型別/變數用名詞;函式用「命令式」動詞;存取函式配合變數名。

2. 檔案命名:全小寫 + 底線/連字號,.cc/.h

my_useful_class.cc、my-useful-class.h。避免系統標頭衝突(如 db.h)。類別定義成對出現:foo_bar.h/cc 對應 FooBar。內聯函式放 .h 或 -inl.h。

3. 型別命名:PascalCase,無底線

類別、結構體、typedef、列舉皆同:MyExcitingClass、UrlTableErrors、PropertiesMap。

4. 變數命名:snake_case

  • 區域/全域:my_exciting_local_variable、table_name。
  • 類成員:底線結尾 my_exciting_member_variable_。
  • 結構體成員:同區域變數(無底線結尾)。
  • 全域變數:少用,可加 g_ 前綴區分。

5. 常數命名:k 前綴 + PascalCase

const int kDaysInAWeek = 7; 適用於所有編譯期常數(區域/全域/類內)。

6. 函式命名

  • 一般函式:PascalCase AddTableEntry()、DeleteUrl()。
  • 存取函式:snake_case 配合成員變數 num_entries()、set_num_entries()。
  • 極短內聯函式:可用 snake_case 暗示零成本內聯。

7. 命名空間:全小寫,基於專案/目錄

google_awesome_project。

8. 列舉命名

  • 列舉型別:PascalCase UrlTableErrors。
  • 列舉值:全大寫 + 底線 OK、ERROR_OUT_OF_MEMORY。

9. 巨集命名:全大寫 + 底線(儘量不用)

#define ROUND(x) ...、#define PI_ROUNDED 3.0。

10. 例外情況:參考既有慣例

情境命名參考對象
函式bigopen()open()
型別定義uint標準整型
結構/類別bigpospos
STL 風格容器sparse_hash_mapSTL 命名
常數LONGLONG_MAXINT_MAX
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved