學習日誌1---運用匈牙利命名法的命名規範,以及註釋規範
阿新 • • 發佈:2018-12-10
記錄下來方便查閱,用於C++程式設計
命名規範
1.變數命名
字首 | 表示型別 | 例子 |
---|---|---|
a | 陣列 | aScore[50] |
b | 波爾變數 | bFlag |
c | 字元變數 | cSex |
i或n | 整形變數 | iNum, nNum |
ui | 無符號整形變數 | uiStart, uiPos |
sz或str | 以零結尾的字串變數 | szMyName, strMyName |
p | 指標變數 | pszString, pMyDlg |
h | 控制代碼 | hWnd, hPen, hDlg |
m_ | 類的成員變數 | m_xStart |
C | 類和結構 | CDialo, Cview, CmysdiApp, CRuntimeClass |
ID*_ | 資源標識 | ID_ , IDD_ , IDC_ , IDB_ , IDI_ |
g_ | 全域性變數 | g_nMsg, g_bflag |
區域性變數中有如下幾個通用變數:nTemp, nResult, index
2.常量與巨集命名
- 常量和巨集的定義具有實際意義
- 定義在#include和函式之前
- 使用大寫字母,根據意義的連續性用下劃線連線
- 定義的右側寫註釋
3.控制元件命名
字首 | 表示型別 | 例子 |
---|---|---|
btn | 按鈕 | m_btnTest |
stat | 靜態文字框 | m_startMessage |
edit | 編輯框 | m_editName |
lst或lc | 列表框 | m_lstLog, m_lcLog |
rd | 單選框 | rd_Background |
cb | 組合框 | cb_cbSex |
ip | ip控制元件 | m_ipServer |
dt | 日期控制元件 | m_dtStart |
wnd | 視窗 | m_wndSetting |
4.資源命名
- 全部要求大寫
各資源如下:
- 選單:IDM_XX / CM_XX
- 點陣圖: IDB_XX
- 對話方塊:IDD_XX
- 字串:IDS_XX
- 對話方塊下面控制元件:IDC_控制元件標籤_控制元件描述 如:IDC_EDIT_YEAR, IDC_BUTTON_SUBMIT, IDC_COMBOX_CLASS
5.函式命名
- 大寫字母開頭,大小寫字母組合,必要課下劃線間隔,應進行功能作用描述, 如:void PrintTrackData();
6.類命名
- “C” 開頭, 使用名詞或名詞性片語,如: CUserInfo
7.檔案命名
- 檔名有實際意義
- 只能包含字母,數字,下劃線
- 名字過長應當縮寫
- 縮寫方法:
- 一般去掉無意或不發音字母
- 單詞首字母一般保留
- 某一單詞必須被縮成一個字母時,應選取最具代表性的字母或首字母
- 臨時檔案必須呼叫系統函式成,禁止使用固定檔名,一般情況下,臨時檔案應在系統臨時目錄下(通過系統取到臨時目錄名)生成。
- 縮寫方法:
8.引數命名
- 遵循和變數命名一樣的規則
註釋規範
1.函式註釋
/********************************** [函式名稱] (必需) [函式功能] (必需) [引數] (必需。表明各引數是輸入引數還是輸出引數) [返回值](必需。解釋返回值的意義) **********************************/
2.類的註釋
/********************************** [類名](必需) [功能](必需) **********************************/
3.檔案註釋
在標頭檔案、實現檔案的首部,要有檔案註釋介紹內容
/********************************** [檔名](必需) [功能模組和目的](必需) **********************************/
4.程式碼註釋
- 除檔案、函式註釋允許 ‘/**/’ 外,其他單行註釋或語句體的註釋必須使用 ‘//’註釋。
- 常量定義時應有說明
- 主要變數(結構,聯合,類或物件)定義或引用是,要對含義進行註釋
- 典型演算法前註釋
- 註釋可在上一行
- 空行和空白符也是註釋,對於一個函式內的功能模組用空行分割