程式設計命名規則
阿新 • • 發佈:2019-02-08
程式設計的命名規則,我第一反應就會想到匈牙利命名法。匈牙利命名法我都不想多說,因為網上的文章一大把,大家自己去google搜尋。但是為了方便起見,我還是在這裡簡單的介紹一下:
匈牙利命名法通過在變數名前面加上相應的小寫字母的符號標識作為字首,標識出變數的作用域,型別等。
這些符號可以多個同時使用,順序是
一、先m_(成員變數)或者是g_(全域性變數)
二、就是指標,通常以p來表示
三、然後是簡單資料型別
四、再是其他
例如:m_lpszStr, 表示 指向一個以 '/0' 字元結尾的字串的長指標成員變數。
匈牙利命名法關鍵是:
識別符號的名字以一個或者多個小寫字母開頭作為字首;
字首之後的是首字母大寫的一個單詞或多個單詞組合,該單詞要指明變數的用途。
字首 | 型別 |
a | 陣列 (Array) |
b | 布林值 (Boolean) |
by | 位元組 (Byte) == 8 bit |
c | 有符號字元 (Char) |
cb | 無符號字元 (Char Byte,沒有多少人用) |
cr | 顏色參考值 (ColorRef) |
cx,cy | 座標差(長度 ShortInt) |
dw | 雙字 (Double Word) == 4 Byte == 4 * 8 bit |
fn | 函式(function) |
h | 控制代碼(Handle) |
i | 整型(int) |
l | 長整型 (Long int) |
lp | 長指標(Long Pointer) |
m_ | 類的成員(member of a class) |
n | 短整型 (Short Int) |
np | 近指標(Near Pointer) |
p | 指標(Pointer) |
s | 字串型(string) |
sz | 以字元'/0'結尾的字串 (String with Zero End) |
w | 字(Word) == 2 Byte == 2 * 8 bit |
Windows型別 | 樣本變數 | MFC類 | 樣本變數 |
HWND | hWnd; | CWnd* | pWnd; |
HDLG | hDlg; | CDialog* | pDlg; |
HDC | hDC; | CDC* | pDC; |
HGDIOBJ | hGdiObj; | CGdiObject* | pGdiObj; |
HPEN | hPen; | CPen* | pPen; |
HBRUSH | hBrush; | CBrush* | pBrush; |
HFONT | hFont; | CFont* | pFont; |
HBITMAP | hBitmap; | CBitmap* | pBitmap; |
HPALETTE | hPaltte; | CPalette* | pPalette; |
HRGN | hRgn; | CRgn* | pRgn; |
HMENU | hMenu; | CMenu* | pMenu; |
HWND | hCtl; | CState* | pState; |
HWND | hCtl; | CButton* | pButton; |
HWND | hCtl; | CEdit* | pEdit; |
HWND | hCtl; | CListBox* | pListBox; |
HWND | hCtl; | CComboBox* | pComboBox; |
HWND | hCtl; | CScrollBar* | pScrollBar; |
HSZ | hszStr; | CString | pStr; |
POINT | pt; | CPoint | pt; |
SIZE | size; | CSize | size; |
RECT | rect; | CRect | rect; |