匈牙利命名法
著名的命名規則當推Microsoft公司的"匈牙利"法,該命名規則的主要思想是"在變量和函數名中加入前綴以增進人們對程序的理解"。例如全部的字符變量均以ch爲前綴,如果指針變量則追加前綴p。若是一個變量由ppch開頭,則代表它是指向字符指針的指針。
函數
MFC、句柄、控件及結構的命名規範
工具
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; |
通常前綴命名規範
spa
前綴 | 類型 | 實例 |
C | 類或結構 | CDocument,CPrintInfo |
m_ | 成員變量 | m_pDoc,m_nCustomers |
變量命名規範 操作系統
前綴 | 類型 | 描述 | 實例 |
ch | char | 8位字符 | chGrade |
ch | TCHAR | 若是_UNICODE定義,則爲16位字符 | chName |
b | BOOL | 布爾值 | bEnable |
n | int | 整型(其大小依賴於操做系統) | nLength |
n | UINT | 無符號值(其大小依賴於操做系統) | nHeight |
w | WORD | 16位無符號值 | wPos |
l | LONG | 32位有符號整型 | lOffset |
dw | DWORD | 32位無符號整型 | dwRange |
p | * | 指針 | pDoc |
lp | FAR* | 遠指針 | lpszName |
lpsz | LPSTR | 32位字符串指針 | lpszName |
lpsz | LPCSTR | 32位常量字符串指針 | lpszName |
lpsz | LPCTSTR | 若是_UNICODE定義,則爲32位常量字符串指針 | lpszName |
h | handle | Windows對象句柄 | hWnd |
lpfn | callback | 指向CALLBACK函數的遠指針 | ?指針 |
應用程序符號命名規範
調試
前綴 | 符號類型 | 實例 | 範圍 |
IDR_ | 不一樣類型的多個資源共享標識 | IDR_MAIINFRAME | 1~0x6FFF |
IDD_ | 對話框資源 | IDD_SPELL_CHECK | 1~0x6FFF |
HIDD_ | 對話框資源的Help上下文 | HIDD_SPELL_CHECK | 0x20001~0x26FF |
IDB_ | 位圖資源 | IDB_COMPANY_LOGO | 1~0x6FFF |
IDC_ | 光標資源 | IDC_PENCIL | 1~0x6FFF |
IDI_ | 圖標資源 | IDI_NOTEPAD | 1~0x6FFF |
ID_ | 來自菜單項或工具欄的命令 | ID_TOOLS_SPELLING | 0x8000~0xDFFF |
HID_ | 命令Help上下文 | HID_TOOLS_SPELLING | 0x18000~0x1DFFF |
IDP_ | 消息框提示 | IDP_INVALID_PARTNO | 8~0xDEEF |
HIDP_ | 消息框Help上下文 | HIDP_INVALID_PARTNO | 0x30008~0x3DEFF |
IDS_ | 串資源 | IDS_COPYRIGHT | 1~0x7EEF |
IDC_ | 對話框內的控件 | IDC_RECALC | 8~0xDEEF |
Microsoft MFC宏命名規範 code
名稱 | 類型 |
_AFXDLL | 惟一的動態鏈接庫(Dynamic Link Library,DLL)版本 |
_ALPHA | 僅編譯DEC Alpha處理器 |
_DEBUG | 包括診斷的調試版本 |
_MBCS | 編譯多字節字符集 |
_UNICODE | 在一個應用程序中打開Unicode |
AFXAPI | MFC提供的函數 |
CALLBACK | 經過指針回調的函數 |
庫標識符命名法
對象
標識符 | 值和含義 |
u | ANSI(N)或Unicode(U) |
d | 調試或發行:D = 調試;忽略標識符爲發行。 |
靜態庫版本命名規範
資源
庫 | 描述 |
NAFXCWD.LIB | 調試版本:MFC靜態鏈接庫 |
NAFXCW.LIB | 發行版本:MFC靜態鏈接庫 |
UAFXCWD.LIB | 調試版本:具備Unicode支持的MFC靜態鏈接庫 |
UAFXCW.LIB | 發行版本:具備Unicode支持的MFC靜態鏈接庫 |
名稱 | 類型 |
_AFXDLL | 惟一的動態鏈接庫(DLL)版本 |
WINAPI | Windows所提供的函數 |
類型 | 定義描述 |
WINAPI | 使用在API聲明中的FAR PASCAL位置,若是正在編寫一個具備導出API人口點的DLL,則能夠在本身的API中使用該類型 |
CALLBACK | 使用在應用程序回叫例程,如窗口和對話框過程當中的FAR PASCAL的位置 |
LPCSTR | 與LPSTR相同,只是LPCSTR用於只讀串指針,其定義相似(const char FAR*) |
UINT | 可移植的無符號整型類型,其大小由主機環境決定(對於Windows NT和Windows 9x爲32位);它是unsigned int的同義詞 |
LRESULT | 窗口程序返回值的類型 |
LPARAM | 聲明lParam所使用的類型,lParam是窗口程序的第四個參數 |
WPARAM | 聲明wParam所使用的類型,wParam是窗口程序的第三個參數 |
LPVOID | 通常指針類型,與(void *)相同,能夠用來代替LPSTR |