匈牙利命名规范

 匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推广给了全世界的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的集合(短整数)
dw     DWORD   (unsigned long)                      双字(无符号长整数)         
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 int                               短整数
p               Pointer                   指针
s                String                字符串
sz   Zero terminated String            以0结尾的字符串
tm             Text metric             文本规则
u                 Unsigned int                  无符号整数
ul  Unsigned long (ULONG)            无符号长整数
wWORD (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常用前缀列表:
前缀类型描述例子
chchar8位字符chGrade
chTCHAR16位UNICODE类型字符chName
bBOOL布尔变量bEnabled
nint整型(其大小由操作系统决定)nLength
nUINT无符号整型(其大小由操作系统决定)nLength
wWORD16位无符号整型wPos
lLONG32位有符号整型lOffset
dwDWORD32位无符号整型dwRange
p*Ambient memory model pointer 内存模块指针,指针变量pDoc
lpFAR*长指针lpDoc
lpszLPSTR32位字符串指针lpszName
lpszLPCSTR32位常量字符串指针lpszName
lpszLPCTSTR32位UNICODE类型常量指针lpszName
hhandleWindows对象句柄hWnd
lpfn(*fn)()回调函数指针 Callback Far pointer to CALLBACK functionlpfnAbort




Windows对象名称缩写:
Windows对象例子变量MFC类例子对象
HWNDhWnd;CWnd*pWnd;
HDLGhDlg;CDialog*pDlg;
HDChDC;CDC*pDC;
HGDIOBJhGdiObj;CGdiObjectpGdiObj;
HPENhPen;CPen*pPen;
HBRUSHhBrush;CBrush*pBrush;
HFONThFont;CFont*pFont;
HBITMAPhBitmapCBitmap*pBitmap;
HPALETTEhPalette;CPalette*pPalette;
HRGNhRgn;CRgn*pRgn;
HMENUhMenu;CMenu*pMenu;
HWNDhCtl;CStatic*pStatic;
HWNDhCtl;CButton*pBtn;
HWNDhCtl;CEdit*pEdit;
HWNDhCtl;CListBox*pListBox;
HWNDhCtl;CComboBox*pComboBox;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值