一、簡述
Google 的C++規範號稱世界上最優秀的編碼規範,於是拿來研究下,已改善自己以後的工作,今天只先學習下它的命名規範。
二、命名規則
1.文件命名規則
文件名全部小寫,可以含下劃線或連字符,按項目約定命名,且儘量保證文件名明確。比如:
cmd_save_player_info_class.cc my_use_full_class.cc
定義類的文件名一般是成對出現,如:foo_bar.h foo_bar.cc
若是類中含大量內聯函數,我們還可使用-ini.h文件,使之文件內容更加清晰,於是又如:
url_table.h url_table.cc url-table-ini.h
2.類命名規則
類型命名每個單詞首字母大寫,不含下劃線,以名詞形式。比如: MyPalyerManager,這對於所有類型命名一樣,類結構體,枚舉,類定義都是如此,比如:MyExcitingEnum
3.變量命名規則
變量名一律小寫,單詞用下劃線相連,例如:
int player_id; string table_name;
特殊的是類成員變量,後跟下劃線區別普通變量,比如: player_name_ player_id_
全局變量則以 g_ 開頭,比如 : g_system_time
當然結構體成員變量還是和普通變量一樣,比如:string name; int num_entries;
4.常量命名規則
k後面跟大寫字母開頭的單詞,比如:
const int kDaysInAWeek=7;
const string kCompanyName=”Tecent”;
5.函數命名規則
常規函數每個單詞首字母大寫,使用命令式語氣,比如:OpenFile() CheckFileName(),
而存取函數或短小的內聯函數使用小寫加下劃線,且與訪問變量相吻合,比如 set_num_errors();
class Player{
public:
void set_player_id(const int player_id){return player_id_=player_id;}
int get_player_id() const{return player-id_;}
private:
int palyer_id_;
};
6.名字空間命名
命名空間全小寫,並基於項目名稱和目錄結構,比如
google_awesome_project
7.枚舉命名規則
枚舉類名屬於類型名,按類命名,枚舉值全大寫加下劃線,比如:ENUM_NAME
8.宏變量命名規則
如果你一定要用到宏,全大寫加下劃線,比如:
define PI_ROUND 3.0
三、總結
總的來說,函數名、變量名、文件名都應該具有描述性,不要隨意縮寫,類型變量名保持名詞性描述,函數名稱保持命令性語氣,宏、枚舉值全大寫加下劃線,變量、文件、命名空間、存取函數全小寫加下劃線,其中類成員變量還要以下劃線結尾,全局變量g_開頭