前段時間看了下google c/c++編程風格,摘錄一些要點記載於此,還請各位指點。
為了接下來清楚的闡述google C++編程規範,先闡述幾個概念:
Pascal Case :當標識符由兩個或者兩個以上單片語成的時候,單詞之間不加其他的符號,並且每個單詞都必須大寫,例如PascalCase。
camel Case: 當標識符由兩個或者兩個以上單片語成的時候,單詞間不加其他的符號,並且第一個單詞以小寫開頭,其他單詞以大寫開頭。例如camelCase。
Unix/Linux變數命名方法:當程式由兩個或兩個以上單片語成的時候,單詞都以小寫開頭,並且以_串連。
下面是Google C++編程規範的一些內容:
一、命名
1)普通變數:linux命名規範 。例如:string table_name;
2)常量: k+PascalCase。例如 const int kDayInAWeek = 7;
3)類私人成員: linux命名規範+_。 例如:int parament_count_;
4)普通函數命名:PascalCase。例如:AddTableEntry()。
5)儲存函數:linux命名方法。例如:
int num_entries() const {return num_entries_};
void set_num_entries(){int num_entries};
6)枚舉:值為全大寫組成的單詞,單詞以_分割。例如MY_ENUM_VALUE
7)類名、結構名:PascalCase
二、函數參數
輸入參數在錢,輸出參數在後。
三、標頭檔排序
C系統標頭檔
C++系統標頭檔
其他庫標頭檔
本項目內標頭檔
四、檔案注釋
1、建立時間 作者
2、修改時間 修改人 修改函數列表
3、標頭檔中,首先生命該類的作用,對函數的用法作簡單說明
五、其他約定
1、每行不要超過80個字元,包含長路徑或者標頭檔保護的情況除外;
2、設定編輯器將tab轉換為空白格,最好為4個空格;
3、空迴圈體使用{}、continue,而不是一個分號;
4、不要使用匈牙利命名法。
最重要的一點,和你所在的團隊的編程風格保持一致,即使你團隊的編程風格和上面所述衝突。