匈牙利命名法.doc

匈牙利命名法.doc

ID:57611360

大小:66.00 KB

页数:8页

时间:2020-08-29

匈牙利命名法.doc_第1页
匈牙利命名法.doc_第2页
匈牙利命名法.doc_第3页
匈牙利命名法.doc_第4页
匈牙利命名法.doc_第5页
资源描述:

《匈牙利命名法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、匈牙利命名法匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。这样可以很容易从变量名看出Switchboard是一个表单,同样,如果此变量类型为标签,那么就应命名成lblSwitch

2、board。可以看出,匈牙利命名法非常便于记忆,而且使变量名非常清晰易懂,这样,增强了代码的可读性,方便各程序员之间相互交流代码。这种命名技术是由一位能干的Microsoft程序员查尔斯·西蒙尼(CharlesSimonyi)提出的,他出生在匈牙利。在Microsoft公司中和他一起工作的人被教会使用这种约定。这对他们来说一切都很正常。但对那些Simonyi领导的项目组之外的人来说却感到很奇特,他们认为这是死板的表达方式,甚至说带有这样奇怪的外观是因为它是用匈牙利文写的。从此这种命名方式就被叫做匈

3、牙利命名法。据说这种命名法是一位叫CharlesSimonyi的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。现在,大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。这种命名法的出发点是把量名变按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN变量命名规范,其中也有一些是我个人的偏向:1、属性部分全局变量g_常量c_c++类成员变量m_静态变量s_2、类型部分指针p函数

4、fn无效v句柄h长整型l布尔b浮点型(有时也指文件)f双字dw字符串sz短整型n双精度浮点d计数c(通常用cnt)字符ch(通常用c)整型i(通常用n)字节by字w实型r无符号u3、描述部分最大Max最小Min初始化Init临时变量T(或Temp)源对象Src目的对象Dest===========================================================这里顺便写几个例子:hwnd:h是类型描述,表示句柄,wnd是变量对象描述,表示窗口,所以hwnd表示窗口句

5、柄;pfnEatApple:pfn是类型描述,表示指向函数的指针,EatApple是变量对象描述,所以它表示指向EatApple函数的函数指针变量。g_cch:g_是属性描述,表示全局变量,c和ch分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。上面就是HN命名法的一般规则。小结:匈牙利命名法匈牙利命名法1、MFC、句柄、控件及结构的命名规范Windows类型样本变量MFC类样本变量HWNDhWnd;CWnd*pWnd;HDLGhDlg;CD

6、ialog*pDlg;HDChDC;CDC*pDC;HGDIOBJhGdiObj;CGdiObject*pGdiObj;HPENhPen;CPen*pPen;HBRUSHhBrush;CBrush*pBrush;HFONThFont;CFont*pFont;HBITMAPhBitmap;CBitmap*pBitmap;HPALETTEhPaltte;CPalette*pPalette;HRGNhRgn;CRgn*pRgn;HMENUhMenu;CMenu*pMenu;HWNDhCtl;CState

7、*pState;HWNDhCtl;CButton*pButton;HWNDhCtl;CEdit*pEdit;HWNDhCtl;CListBox*pListBox;HWNDhCtl;CComboBox*pComboBox;HWNDhCtl;CScrollBar*pScrollBar;HSZhszStr;CStringpStr;POINTpt;CPointpt;SIZEsize;CSizesize;RECTrect;CRectrect;2、一般前缀命名规范前缀类型实例C类或结构CDocument,CP

8、rintInfom_成员变量m_pDoc,m_nCustomers3、变量命名规范前缀类型描述实例chchar8位字符chGradechTCHAR如果_UNICODE定义,则为16位字符chNamebBOOL布尔值bEnablenint整型(其大小依赖于操作系统)nLengthnUINT无符号值(其大小依赖于操作系统)nHeightwWORD16位无符号值wPoslLONG32位有符号整型lOffsetdwDWORD32位无符号整型dwRangep*指针pDoclpFAR*远指针l

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。