C++之匈牙利命名法
- 格式:doc
- 大小:77.50 KB
- 文档页数:5
匈牙利变量命名规则
摘要:
1.匈牙利命名法的起源和特点
2.匈牙利命名法的基本规则
3.匈牙利命名法的应用领域
4.匈牙利命名法的优缺点
正文:
1.匈牙利命名法的起源和特点
匈牙利命名法(Hungarian Notation)是一种用于变量命名的规范,起源于20 世纪50 年代的匈牙利计算机科学家。
这种命名法的主要特点是:使用小写字母和短横线来表示变量的类型和作用域,使得程序员在看到变量名就能大致了解变量的含义和用途。
2.匈牙利命名法的基本规则
匈牙利命名法包括以下基本规则:
- 变量名以小写字母开头,如果需要表示数字,则使用0-9 表示;
- 变量名中可以包含一个或多个短横线(-),用于表示变量的类型或作用域;
- 变量名中不能包含空格,且除开头字母外,其他字母都应小写。
3.匈牙利命名法的应用领域
匈牙利命名法广泛应用于计算机编程领域,尤其在微软的Visual Studio 编程工具中使用较为广泛。
此外,许多其他编程语言和代码编辑器也支持或推
荐使用匈牙利命名法。
4.匈牙利命名法的优缺点
匈牙利命名法的优点包括:
- 有助于提高代码的可读性,使程序员更容易理解变量的含义和用途;
- 有助于减少编译器或解释器的错误,因为变量名中包含了类型信息;
- 可以提高编程效率,因为可以使用简短的变量名。
然而,匈牙利命名法也存在一些缺点,例如:
- 变量名较长,可能导致输入困难或容易出错;
- 可能使代码看起来过于复杂,增加新程序员的学习成本。
总之,匈牙利命名法是一种有助于提高代码可读性和可维护性的编程规范。
竭诚为您提供优质文档/双击可除c语言函数命名规范篇一:c语言命名规则匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。
匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。
它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推广给了全世界的windows开发人员。
下面将介绍匈牙利命名法,后面的例子里也会尽量遵守它和上面的代码风格。
aarray数组bbool(int)布尔(整数)byunsignedchar(byte)无符号字符(字节)cchar字符(字节)cbcountofbytes字节数crcolorreferencevalue颜色(参考)值cxcountofx(short)x的集合(短整数)dwdwoRd(unsignedlong)双字(无符号长整数)fFlags(usuallymultiplebitvalues)标志(一般是有多位的数值)fnFunction函数g_global全局的hhandle句柄iintegerllonglplongpointerm_datamemberofaclass成员nshortintppointersstringszzeroterminatedstring符串tmtextmetricuunsignedintulunsignedlong(ulong)整数长整数长指针一个类的数据短整数指针字符串以0结尾的字文本规则无符号整数无符号长整数wwoRd(unsignedshort)无符号短整数x,yx,ycoordinates(short)坐标值/短整数vvoid空有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。
前缀类型例子g_全局变量g_serversc类或者结构体cdocument,cprintinfom_成员变量m_pdoc,m_ncustomersVc常用前缀列表:前缀类型描述例子chchar8位字符chgradechtchaR16位unicode类型字符chnamebbool布尔变量benablednint整型(其大小由操作系统决定)nlengthnuint无符号整型(其大小由操作系统决定)nlength wwoRd16位无符号整型wposllong32位有符号整型loffsetdwdwoRd32位无符号整型dwRangep*ambientmemorymodelpointer内存模块指针,指针变量pdoclpFaR*长指针lpdoclpszlpstR32位字符串指针lpsznamelpszlpcstR32位常量字符串指针lpsznamelpszlpctstR32位unicode类型常量指针lpszname hhandlewindows对象句柄hwndlpfn(*fn)()回调函数指针callbackFarpointertocallbackfunctionlpfnabort windows对象名称缩写:windows对象例子变量mFc类例子对象hwndhwnd;cwnd*pwnd;hdlghdlg;cdialog*pdlg;hdchdc;cdc*pdc;hgdiobjhgdiobj;cgdiobject*pgdiobj;hpenhpen;cpen*ppen;hbRushhbrush;cbrush*pbrush;hFonthFont;cFont*pFont;hbitmaphbitmap;cbitmap*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;Vc常用宏定义命名列表:前缀符号类型符号例子范围篇二:c语言变量命名规则1、严格采用阶梯层次组织程序代码:各层次缩进的分格采用Vc的缺省风格,即每层次缩进为4格,括号位于下一行。
C 语言常见命名规范
1 常见命名规则
比较着名的命名规则首推匈牙利命名法,
这种命名方法是由Microsoft 程序员查尔斯-西蒙尼(Charles Simonyi) 提出的。
其主要思想是在变量和函数名中加入前缀以增进人们对程序的理解。
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;
前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量
的用途。
例如:lpszStr, 表示指向一个以’\0’结尾的字符串(sz)的长指针(lp)变量。
骆驼(Camel)命名法近年来越来越流行,
在许多新的函数库和Java 这样的平台下使用得当相多。
骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来。
匈牙利命名法是一种编程时的命名规范。
基本原则是:变量名=属性+类型+对象描述。
其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。
命名要基于容易记忆容易理解的原则。
目前在Windows程序开发和MFC程序开发中常用的命名规则是匈牙利命名法。
下面就是HN命名法的一般规则。
属性部分全局变量g_const常量c_c++类成员变量m_静态变量s_类型部分指针p函数fn无效v句柄h长整型l布尔b浮点型(有时也指文件) f双字dw字符串sz短整型n双精度浮点d计数c(通常用cnt)字符ch(通常用c)整型i(通常用n)字节by字w实型r无符号u描述部分最大Max最小Min初始化Init临时变量T(或Temp)源对象Src目的对象Dest这里顺便写几个例子:(1) hwnd :h 是类型描述,表示句柄,wnd 是变量对象描述,表示窗口,所以hwnd 表示窗口句柄;(2) pfnEatApple :pfn 是类型描述,表示指向函数的指针,EatApple 是变量对象描述,所以它表示指向EatApple 函数的函数指针变量。
(3) g_cch :g_ 是属性描述,表示全局变量,c 和ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。
小结:匈牙利命名法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,CPrintInfom_ 成员变量m_pDoc,m_nCustomers变量命名规范前缀类型描述实例ch char 8位字符chGradech TCHAR 如果_UNICODE定义,则为16位字符chNameb BOOL 布尔值bEnablen int 整型(其大小依赖于操作系统)nLengthn UINT 无符号值(其大小依赖于操作系统)nHeightw WORD 16位无符号值wPosl LONG 32位有符号整型lOffsetdw DWORD 32位无符号整型dwRangep * 指针pDoclp FAR* 远指针lpszNamelpsz LPSTR 32位字符串指针lpszNamelpsz LPCSTR 32位常量字符串指针lpszNamelpsz LPCTSTR 如果_UNICODE定义,则为32位常量字符串指针lpszName h handle Windows对象句柄hWndlpfn callback 指向CALLBACK函数的远指针资源类型命名规范前缀符号类型实例范围IDR_ 不同类型的多个资源共享标识IDR_MAIINFRAME 1~0x6FFFIDD_ 对话框资源IDD_SPELL_CHECK 1~0x6FFFHIDD_ 对话框资源的Help上下文HIDD_SPELL_CHECK 0x20001~0x26FF IDB_ 位图资源IDB_COMPANY_LOGO 1~0x6FFFIDC_ 光标资源IDC_PENCIL 1~0x6FFFIDI_ 图标资源IDI_NOTEPAD 1~0x6FFFID_ 来自菜单项或工具栏的命令ID_TOOLS_SPELLING 0x8000~0xDFFF HID_ 命令Help上下文HID_TOOLS_SPELLING 0x18000~0x1DFFFIDP_ 消息框提示IDP_INVALID_PARTNO 8~0xDEEFHIDP_ 消息框Help上下文HIDP_INVALID_PARTNO 0x30008~0x3DEFF IDS_ 串资源IDS_COPYRIGHT 1~0x7EEFIDC_ 对话框内的控件IDC_RECALC 8~0xDEEFMicrosoft MFC宏命名规范名称类型_AFXDLL 唯一的动态连接库(Dynamic Link Library,DLL)版本_ALPHA 仅编译DEC Alpha处理器_DEBUG 包括诊断的调试版本_MBCS 编译多字节字符集_UNICODE 在一个应用程序中打开UnicodeAFXAPI MFC提供的函数CALLBACK 通过指针回调的函数库标识符命名法标识符值和含义u ANSI(N)或Unicode(U)d 调试或发行:D = 调试;忽略标识符为发行。
匈牙利变量命名规则摘要:1.匈牙利命名法简介2.匈牙利命名法的基本规则3.匈牙利命名法的应用实例4.匈牙利命名法的优缺点正文:1.匈牙利命名法简介匈牙利命名法是一种广泛应用于计算机编程领域的变量命名规范,最早由匈牙利数学家艾兹赫尔·卡罗利(Ern Kálmán)提出,后来由IBM 的阿尔伯特·斯奇尔(Albert S.Householder)和克劳德·贝克(Claude C.Baker)进一步完善。
匈牙利命名法的主要特点是使用缩写来表示变量的含义,从而提高程序的可读性。
2.匈牙利命名法的基本规则匈牙利命名法包括以下基本规则:- 变量名以小写字母开头,即使该变量表示一个常量。
- 变量名中每个单词的首字母大写,除第一个单词外。
- 使用缩写来表示变量的含义。
常见的缩写有:a 表示“after”,b 表示“before”,i 表示“increment”,d 表示“decrement”,e 表示“even”,o 表示“odd”,s 表示“sum”,p 表示“product”,m 表示“minimum”,M 表示“maximum”,等等。
3.匈牙利命名法的应用实例以下是一些匈牙利命名法的应用实例:- a1 表示“a 之后的第一个数”- b2 表示“b 之前的第二个数”- i1 表示“第i 个数”- d2 表示“第d 个数的相反数”- e1 表示“第e 个偶数”- o3 表示“第o 个奇数”- s1 表示“前s 个数的和”- p1 表示“前p 个数的乘积”- m1 表示“第m 个数的最小值”- M1 表示“第M 个数的最大值”4.匈牙利命名法的优缺点匈牙利命名法的优点在于它简洁明了,能够快速地传达变量的含义。
尤其在代码中,匈牙利命名法能够提高程序的可读性,使程序员更容易理解代码的功能。
然而,匈牙利命名法也有一些缺点。
首先,由于它使用了大量的缩写,可能导致非母语人士难以理解。
匈牙利命名法,骆驼命名法,帕斯卡命名法,C#命名规范一、匈牙利(Hungarian)命名法:广泛应用于象Microsoft Windows这样的环境中。
Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。
匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。
这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。
例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
在windowsForm 应用程序中,控件命名采用匈牙利命名法。
如TextBox类型,前缀加txt,例如命名为txtCustomerName,txtAddress。
Button类型, 前缀加btn,例如btnSave,btnDelete。
匈牙利命名法中常用的小写字母的前缀:前缀类型a 数组 (Array)b 布尔值 (Boolean)by 字节 (Byte)c 有符号字符 (Char)cb 无符号字符 (Char Byte,没有多少人用)cr 颜色参考值 (ColorRef)cx,cy 坐标差(长度 ShortInt)dw Double Wordfn 函数h Handle(句柄)i 整型l 长整型 (Long Int)lp Long Pointerm_ 类的成员n 短整型 (Short Int)np Near Pointerp Pointer(指针)s 字符串型 (string)sz 以null做结尾的字符串型 (String with Zero End)w Word二、骆驼(camel)命名法:骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。
程序编程匈牙利命名法在编程中,命名是非常重要的,良好的命名可以增加代码的可读性和可维护性。
而匈牙利命名法是一种广泛用于程序编程的命名规范,它以变量的类型作为前缀,用以区分不同类型的变量。
本文将介绍匈牙利命名法的定义、优缺点以及在实际应用中的使用。
一、匈牙利命名法的定义匈牙利命名法是由微软公司的Charles Simonyi在20世纪80年代提出的。
它的基本原则是将变量的类型作为前缀,以便于区分不同类型的变量。
匈牙利命名法的命名规则如下:1. 前缀:根据变量的类型添加相应的前缀,例如整型变量使用"i"作为前缀,字符串变量使用"s"作为前缀。
2. 首字母大写:除了前缀之外,变量名的首字母要大写,以提高可读性。
3. 驼峰命名法:变量名中的每个单词的首字母都大写,其余字母小写。
二、匈牙利命名法的优点1. 提高可读性:通过添加前缀和使用驼峰命名法,可以清晰地表示变量的类型和含义,增加代码的可读性。
2. 避免命名冲突:使用不同的前缀可以避免变量之间的命名冲突,减少错误的发生。
3. 方便代码维护:使用匈牙利命名法可以使代码更易于理解和修改,减少程序维护的难度。
三、匈牙利命名法的缺点1. 命名冗长:由于需要添加前缀和使用驼峰命名法,变量名可能会变得冗长,增加代码的长度。
这对于阅读和编写代码来说可能会带来一定的困扰。
2. 易混淆:如果不遵循匈牙利命名法的规则,或者前缀选择不当,可能会导致变量名之间的混淆,降低代码的可读性。
四、匈牙利命名法的实际应用在实际应用中,我们可以根据具体的编程语言和项目要求来选择是否使用匈牙利命名法。
以下是一些匈牙利命名法在不同场景下的应用示例:1. C语言中的匈牙利命名法:- 整型变量:int iCount;- 字符串变量:char szName[100];- 布尔型变量:bool bFlag;2. Java语言中的匈牙利命名法:- 整型变量:int iCount;- 字符串变量:String strName;- 布尔型变量:boolean bFlag;3. Python语言中的匈牙利命名法:- 整型变量:iCount = 0- 字符串变量:strName = "Hello"- 布尔型变量:bFlag = True通过以上示例可以看出,在不同编程语言中,匈牙利命名法的具体应用会有所差异,但其基本原则仍然是以变量类型作为前缀,提高代码的可读性和可维护性。
匈牙利命名法《匈牙利命名法》是一种给变量命名的一种最常见的编程指导原则。
它的目的是确保变量的意义可以在代码中被明确理解,从而减少出错的可能性。
它是由古典程序员Charles Simonyi所提出的,其中他最著名的功绩是在Microsoft Word中开发出维护模式和保存文档的功能。
匈牙利命名法有三个基本原则,这些原则被称为前缀、中缀和后缀。
前缀指的是变量的类型,中缀指的是变量的状态,后缀指的是变量的动作。
这三个基本原则的核心思想是:通过这三个组成部分,可以将变量的功能和意义表达清楚,从而使得程序员容易理解变量的用途。
这种方式可以让我们的代码变得清晰,简易,更加容易维护和修改。
匈牙利命名法有三个类型:驼峰命名法:这种命名法有前缀和后缀,前缀表示变量的类型,而后缀则指变量的动作。
如stringUserName表示一个字符串类型的变量,它的动作是用户名。
下划线命名法:这种命名法有前缀和后缀,不同于驼峰命名法,下划线命名法有两个下划线符号隔开,前缀表示变量的类型,后缀表示变量的动作。
如string__user_name表示一个字符串类型的变量,它的动作是用户名。
静态命名法:这种命名法有前缀和中缀,前缀表示变量的类型,而中缀指变量的状态。
如StringUserIsAdmin表示一个字符串类型的变量,它的状态是用户是管理员。
在实际应用中,大多数程序员会选择驼峰命名法,因为它的命名方式比较清晰,也比较容易理解。
驼峰命名法也是C语言编程中最常用的命名方式,它可以让程序员在编程过程中更容易地控制变量的使用。
正确地使用匈牙利命名法可以帮助我们写出更好、更清晰、更易于维护的代码。
它有助于减少程序员出现调试错误的可能性,也能够让代码更容易被他人理解。
对于那些拥有良好命名习惯的程序员来说,他们可以更快速地开发出良好的代码。
总而言之,使用匈牙利命名法可以极大地提升开发效率,提高程序的可读性和可维护性。