11風格
11.1 標示符命名與定義
建議11.1 類命名以大寫字母開頭,中間單詞也以大寫開頭
樣本:
class UrlTable;
class UrlTableProperties;
11.2 排版
建議11.2 類的聲明按照一定的次序進行,關鍵字不縮排
說明:類的聲明按照一定的次序和規範進行。建議的次序如下:
按照存取控制特性段排序:public、protected、private,如果沒有可以忽略。這個排序是讓聲
明的時候使用者首先看到最關心的特性(對外介面)。
在每一段中按照如下順序聲明(先定義後續用到的類型,常量和enums;然後定義行為(構造,析構,
成員函數),最後定義成員變數):
1. typedefs和enums;
2. 常量;
3. 建構函式;
4. 解構函式;
5. 成員函數,含靜態成員函數;
6. 資料成員,含待用資料成員。
建議11.3 建構函式初始化列表在同一行或按4格縮排並排幾行
樣本:初始化列表放在同一行:
class TaskProgressTimer
{
public:
TaskProgressTimer(CHRCollectTask & parent):m_delayTime(30)
{
}
};
初始化列表並排多行:
class TaskProgressTimer
{
public:
TaskProgressTimer(CHRCollectTask & parent):
m_parTask(parent) ,
m_delayTime(30) ,
m_intervalTime(50) ,
timer_handler_( reactor(), *this, m_delayTime, m_intervalTime )
{
}
};
11.3 注釋
建議11.4 使用‘//’注釋方式,而不是‘/* */'
說明:說明:使用 ‘//’ 而不是 ‘/* */’ 來注釋 C++代碼。使用‘/* */’的缺點就是容易產生
交叉錯亂。
即使注釋多行代碼, //仍然是首選,現在的編輯器提供多行加‘//’和去‘//’的功能。
建議11.5 為重要的類或結構體作注釋,注釋格式支援工具自動產生
說明:為重要的類或結構體作注釋,不宜寫太多無用的注釋。注釋主要表達代碼難以直接表達的意思。
建議11.6 為所有重要的成員函數作注釋
建議11.7 正式發布的代碼不能使用TODO 注釋
說明:對那些臨時的、短期的解決方案,或待改進的代碼使用TODO注釋。使用全大寫的字串TODO,
後面括弧裡加上姓名、工號等資訊。
//TODO(姓名: 工號: ):注釋內容
11.4 檔案組織
建議11.8 整個項目需要的公用標頭檔應放在一個單獨的目錄下
建議11.9 一個模組的目錄層次不宜太深,以1~2層為宜,介面檔案放在最外層
建議11.10 保持檔案前言的簡潔性
說明:給出著作權說明和該檔案的簡介後即可切入正題——編碼。