匈牙利命名法规则
一般情况下,变量的取名方式为:
<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 |
少用 |
注:编程时尽量少用全程变量,对于全程变量还应在类型前缀后加上如下关键字:
特征模块
草图模块
装配模块
工程图模块:
曲面模块
界面模块
前缀 |
类型 |
内存规格描述 |
例子 |
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) |
IDD_SPELL_CHECK |
1 to 0x6FFF |
IDB_ |
位图资源(Bitmap) |
IDB_COMPANY_LOGO |
1 to 0x6FFF |
IDC_ |
光标资源(Cursor) |
IDC_PENCIL |
1 to 0x6FFF |
IDI_ |
图标资源(Icon) |
IDI_NOTEPAD |
1 to 0x6FFF |
ID_IDM_ |
工具栏或菜单栏的命令项 |
ID_TOOLS_SPELLING |
0x8000 to 0xDFFF |
HID_ |
命令上下文帮助(Command Help context) |
HID_TOOLS_SPELLING |
0x18000 to 0x1DFFF |
IDP_ |
消息框提示文字资源 |
IDP_INVALID_PARTNO |
8 to 0xDFFF |
HIDP_ |
消息框上下文帮助(Message-box Help context) |
HIDP_INVALID_PARTNO |
0x30008 to 0x3DFFF |
IDS_ |
字符串资源(String) |
IDS_COPYRIGHT |
1 to 0x7FFF |
IDC_ |
对话框内的控制资源(Control) |
IDC_RECALC |
8 to 0xDFFF |