匈牙利命名法规则
一般情况下,变量的取名方式为:
<scope_> + <prefix_> + <qualifier>。
范围前缀_,类型前缀_,限定词。
特殊的类型命名,前缀表示:
类、接口
前缀 | 类型 | 例子 | 备注 |
Lm | Class | LmObject | 表示类型本身 |
I | Interface 接口 | IUnknown |
注:类名前缀改为Lm,对于非全局的类最好有语义表示其所属模块。类的实例命名与类名大致相同,只是类名语义表示类的通用含义,而类名表示此实例的具体语义。如类名LmSketPoint表示草图点的类定义,而它的两个实例 _StartPoint,_EndPoint分别代表起点和终点的语义。类的实例命名带上前缀_。
特殊约定:
a. MouseTool的派生类的前缀为_Mt.
b. 对话框类的前缀为CDlg.
c. 橡皮条类的前缀为_Rb.
凡围前缀:
前缀 | 类型 | 例子 | 备注 |
g_ | 全局作用域 | g_Servers |
|
m_ | 成员变量 | m_pDoc, | |
l_ | 局部作用域 | l_strName | 少用 |
注:编程时尽量少用全程变量,对于全程变量还应在类型前缀后加上如下关键字:
特征模块 : Fea
草图模块 : Sket
装配模块 : Asm
工程图模块: Lay
曲面模块 : Surf
界面模块 : Ui
常用的一般数据类型的前缀
前缀 | 类型 | 内存规格描述 | 例子 |
ch | char | 8-bit character | chGrade |
ch | TCHAR | 16-bit character if _UNICODE is defined | chName |
b | BOOL | Boolean value | bEnabled |
n | int | Integer (size dependent on operating system) | nLength |
n | UINT | Unsigned value (size dependent on operating system) | nLength |
w | WORD | 16-bit unsigned value | wPos |
l | LONG | 32-bit signed integer | lOffset |
dw | DWORD | 32-bit unsigned integer | dwRange |
p | * | Ambient memory model pointer | pDoc |
lp | FAR* | Far pointer | lpDoc |
lpsz | LPSTR | 32-bit pointer to character string | lpszName |
lpsz | LPCSTR | 32-bit pointer to constant character string | lpszName |
lpsz | LPCTSTR | 32-bit pointer to constant character string if _UNICODE is defined | lpszName |
h | handle | Handle to Windows object | hWnd |
lpfn | (*fn)() | callbackFar pointer to CALLBACK function | lpfnAbort |
常用Windows对象名称缩写
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 | hPalette; | CPalette* | pPalette; |
HRGN | hRgn; | CRgn* | pRgn; |
HMENU | hMenu; | CMenu* | pMenu; |
HWND | hCtl; | CStatic* | pStatic; |
HWND | hCtl; | CButton* | pBtn; |
HWND | hCtl; | CEdit* | pEdit; |
HWND | hCtl; | CListBox* | pListBox; |
HWND | hCtl; | CComboBox* | pComboBox; |
Visual C++常用宏定义命名列表
前缀 | 符号类型 | 符号例子 | 范围 |
IDR_ | 标识多个资源共享的类型 | IDR_MAINFRAME | 1 to 0x6FFF |
IDD_ | 对话框资源(Dialog) |