匈牙利命名法java
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推广给了全世界的Windows开发人员。下面将介绍匈牙利命名法,后面的例子里也会尽量遵守它和上面的代码风格。还是那句话,并不是要求所有的读者都要去遵守,但是希望读者作为一个现代的软件开发人员都去遵守它。
前缀类型中文说明
a Array 数组
b BOOL(int) 布尔(整数)
by Unsigned Char(Byte) 无符号字符(字节)
c Char 字符(字节)
cb Count of Bytes 字节数
cr Color Reference Value 颜色(参考)值
cx Count of x(Short) x的集合(短整数)
f Flags(usually multiple bit values) 标志(一般是有多位的数值)
fn Function 函数
g_ Global 全局的
h Handle 句柄
i Integer 整数
l Long 长整数
lp Long Pointer 长指针
m_ Data Member of a Class 一个类的数据成员
n Short Integer 短整数
p Pointer 指针
s String 字符串
sz Zero Terminated String 以零结尾的字符串
tm Text Metric 文本规则
u Unsigned Integer 无符号整数
ul Unsigned Long(ULONG) 无符号长整数
w WORD(Unsigned Short) 无符号短整数
x,y x, y Coordinates (Short) 坐标值(短整数)
v Void 空
有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。
前缀类型例子
g_ 全局变量g_Servers
C 类或者结构体CDocument, CPrintInfo
m_ 成员变量m_pDoc, m_nCustomers
VC常用前缀列表:
前缀类型描述例子
ch char 8位字符chGrade ch TCHAR 16位Unicode集字符chName b BOOL 布尔变量bEnable n int 整型nLength n UINT 无符整型nLength w WORD 16位无符号整型wPos
l Long 32位有符号整型lOffset dw DWORD 32位无符号整型dwRange
p * 指针变量,内存模块指针(Ambient memory model point)
pDoc
lp Far* 长指针lpDoc lpsz LPSTR 32位字符串指针lpszName lpsz LPCSTR 32位常量字符串指针lpszName lpsz LPCTSTR 32位Unicode集常量指针lpszName h handle Windows对象句柄hWnd
lpfn (*fn)() 回调函数指针 Callback Far pointer to
CALLBACK function
lpfnAbort
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
一般前缀命名规范:
前缀类型实例
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