一、簡述
Google 的C++規範號稱世界上最優秀的編碼規範,於是拿來研究下,已改善自己以後的工作,今天只先學習下它的命名規範。
----------------------------------------------------------------------------------------
二、命名規則
1.文件命名規則
C語言 全部採用小寫,以下劃線作爲間隔。比如:
cmd_save_player_info_class.cc my_use_full_class.cc
C++ 以類名作爲文件名稱。
若是類中含大量內聯函數,我們還可使用-ini.h文件,使之文件內容更加清晰,於是又如:
url_table.h url_table.cc url-table-ini.h
2.類命名規則
類型命名每個單詞首字母大寫,不含下劃線,以名詞形式。比如: MyPalyerManager,這對於所有類型命名一樣,類結構體,枚舉,類定義都是如此,比如:MyExcitingEnum
3.變量命名規則
變量名一律小寫,單詞用下劃線相連,例如:
int player_id; string table_name;
結構體成員變量:與普通變量相同,例如: string name; char ch;
類成員變量:以m_開頭,例如: m_class;
全局變量:以 g_ 開頭,比如: g_system_time
函數指針變量: pfn_開頭,例如:FN_FUNC pfn_val;
4.常量命名規則
k後面跟大寫字母開頭的單詞,比如:
const int kDaysInAWeek=7;
const string kCompanyName="Tecent";
5.函數命名規則
C函數
每個單詞首字母大寫,使用命令式語氣,例如:OpenFile()、CheckFileName()
C++函數
每個單詞首字母大寫,使用命令式語氣,例如:OpenFile()、CheckFileName()
6.名字空間命名
命名空間全小寫,並基於項目名稱和目錄結構,比如
google_awesome_project
7.枚舉、聯合
全大寫,下劃線間隔
8.宏、枚舉值
枚舉值,E_開頭,全大寫,下劃線間隔,比如:E_NAME
宏,全大寫,下劃線間隔,比如:#define PI_ROUND 3.0
9.typedef
通用規則:每個單詞首字母大寫
typedef struct:以Type結尾
函數指針類型:以Pfn結尾
數組類型:Arr結尾
----------------------------------------------------------------------------------------
三、總結
總的來說,函數名、變量名、文件名都應該具有描述性,不要隨意縮寫,類型變量名保持名詞性描述,函數名稱保持命令性語氣,宏、枚舉值全大寫加下劃線,變量、文件、命名空間、存取函數全小寫加下劃線,其中類成員變量還要以下劃線結尾,全局變量g_開頭