匈牙利命名法

合集下载

匈牙利命名法

匈牙利命名法

匈牙利命名法匈牙利命名法匈牙利命名法是一种编程时的命名规范。

基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。

命名要基于容易记忆容易理解的原则。

保证名字的连贯性是非常重要的。

据说这种命名法是一位叫Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。

现在,大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。

这种命名法的出发点是把量名变按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN变量命名规范,其中也有一些是我个人的偏向:属性部分全局变量g_常量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 这里顺便写几个例子:hwnd :h 是类型描述,表示句柄,wnd 是变量对象描述,表示窗口,所以hwnd 表示窗口句柄;pfnEatApple :pfn 是类型描述,表示指向函数的指针,EatApple 是变量对象描述,所以它表示指向EatApple 函数的函数指针变量。

g_cch :g_ 是属性描述,表示全局变量,c 和ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。

上面就是HN命名法的一般规则。

小结:匈牙利命名法匈牙利命名法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_INV ALID_PARTNO 8~0xDEEFHIDP_ 消息框Help上下文HIDP_INV ALID_PARTNO 0x30008~0x3DEFFIDS_ 串资源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.匈牙利命名法的起源和特点
匈牙利命名法(Hungarian Notation)是一种用于变量命名的规范,起源于20 世纪50 年代的匈牙利计算机科学家。

这种命名法的主要特点是:使用小写字母和短横线来表示变量的类型和作用域,使得程序员在看到变量名就能大致了解变量的含义和用途。

2.匈牙利命名法的基本规则
匈牙利命名法包括以下基本规则:
- 变量名以小写字母开头,如果需要表示数字,则使用0-9 表示;
- 变量名中可以包含一个或多个短横线(-),用于表示变量的类型或作用域;
- 变量名中不能包含空格,且除开头字母外,其他字母都应小写。

3.匈牙利命名法的应用领域
匈牙利命名法广泛应用于计算机编程领域,尤其在微软的Visual Studio 编程工具中使用较为广泛。

此外,许多其他编程语言和代码编辑器也支持或推
荐使用匈牙利命名法。

4.匈牙利命名法的优缺点
匈牙利命名法的优点包括:
- 有助于提高代码的可读性,使程序员更容易理解变量的含义和用途;
- 有助于减少编译器或解释器的错误,因为变量名中包含了类型信息;
- 可以提高编程效率,因为可以使用简短的变量名。

然而,匈牙利命名法也存在一些缺点,例如:
- 变量名较长,可能导致输入困难或容易出错;
- 可能使代码看起来过于复杂,增加新程序员的学习成本。

总之,匈牙利命名法是一种有助于提高代码可读性和可维护性的编程规范。

匈牙利命名规则

匈牙利命名规则

作用域前缀标明一个变量的可见范围。作用 域可以有如下几种:
前缀
说明

局部变量
m_
类的成员变量(member)
sm_
类的静态成员变量
(static member)
s_
静态变量(static)
g_
外部全局变量(global)
sg_
静态全局变量(static
gloБайду номын сангаасal)
gg_
进程间共享的共享数据
段全局变量(global
如果_UNICODE 定义,则为 32 位
lpsz LPCTSTR
lpszName
常量字符串指针
h handle Windows 对象句柄
hWnd
lpfn callback 指向 CALLBACK 函数的远指针
?
if
输入文件流
ifDataFile
of
输出文件流
ofStuFile
sz
以"\0"结束的字符串
对未给出的变量类型要求提出并给出命名建议给技术委员会。
②、指针变量命名的基本原则为: 对一重指针变量的基本原则为: “p”+变量类型前缀+命名 如一个 float*型应该表示为 pfStat 对多重指针变量的基本规则为: 二重指针: “pp”+变量类型前缀+命名 三重指针: “ppp”+变量类型前缀+命名 ...... ③、全局变量用 g_开头,如一个全局的长型变量定义为 g_lFailCount,即:变量名 =g_+变量类型+变量的英文意思(或缩写) ④、静态变量用 s_开头,如一个静态的指针变量定义为 s_plPerv_Inst,即: 变量名 =s_+变量类型+变量的英文意思(或缩写) ⑤、成员变量用 m_开头,如一个长型成员变量定义为 m_lCount;即:变量名=m_+ 变量类型+变量的英文意思(或缩写) ⑥、对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。并且要

匈牙利命名法

匈牙利命名法

匈牙利命名法1 匈牙利命名法匈牙利命名法是一种编程时的命名规范。

基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。

命名要基于容易记忆容易理解的原则。

保证名字的连贯性是非常重要的。

举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard 时,变量全称应该为frmSwitchboard。

这样可以很容易从变量名看出Switchboard 是一个表单;同样,如果此变量类型为标签,那么就应命名成lblSwitchboard。

可以看出,匈牙利命名法非常便于记忆,而且使变量名非常清晰易懂,这样增强了代码的可读性,方便各程序员之间相互交流代码。

这种命名技术是由一位能干的Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的,他出生在匈牙利。

在Microsoft 公司中和他一起工作的人被教会使用这种约定。

这对他们来说一切都很正常。

但对那些Simonyi 领导的项目组之外的人来说却感到很奇特,他们认为这是死板的表达方式,甚至说带有这样奇怪的外观是因为它是用匈牙利文写的。

从此这种命名方式就被叫做匈牙利命名法。

现在,大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。

2 一般规则属性部分全局变量g_常量c_c++类成员变量m_静态变量s_类型部分指针p函数fn无效v句柄h长整型l布尔b浮点型f双字dw字符串s短整型n双精度浮点d计数c(通常用cnt)字符ch(通常用c)整型i(通常用n)字节by字w实型r无符号u描述部分最大Max最小Min初始化Init临时变量T(或Temp)源对象Src目的对象Dest例如:pfnEatApple :pfn 是类型描述,表示指向函数的指针,EatApple 是变量对象描述,所以它表示指向EatApple 函数的函数指针变量。

python命名方式

python命名方式

python命名方式Python命名方式在Python编程中,命名方式是非常重要的,它直接影响到代码的可读性和可维护性。

良好的命名方式可以使代码更易于理解、调试和修改。

本文将介绍一些常见的Python命名方式及其使用场景。

1. 驼峰命名法(Camel Case)驼峰命名法是一种常见的命名方式,它将多个单词连接在一起,并将第一个单词的首字母小写,后面的单词的首字母大写。

例如:myVariable、myFunction。

驼峰命名法适用于变量、函数和方法的命名,特别是用于表示对象的属性或方法。

2. 下划线命名法(Snake Case)下划线命名法是另一种常见的命名方式,它将多个单词连接在一起,并使用下划线进行分隔。

例如:my_variable、my_function。

下划线命名法适用于变量、函数和方法的命名,特别是用于表示局部变量或私有方法。

3. 全大写命名法(All Caps Case)全大写命名法是一种将所有字母都大写的命名方式,单词之间使用下划线进行分隔。

例如:MY_CONSTANT。

全大写命名法通常用于表示常量或全局变量。

4. 首字母缩写命名法(Initialism)首字母缩写命名法是一种将多个单词的首字母连接在一起的命名方式。

例如:HTML、URL。

首字母缩写命名法通常用于表示缩写词或常用术语。

5. 匈牙利命名法(Hungarian Notation)匈牙利命名法是一种在变量名前面加上类型前缀的命名方式。

例如:strName、intCount。

匈牙利命名法通常用于表示变量的类型,尤其是在弱类型语言中。

6. 前缀命名法(Prefix)前缀命名法是一种在变量名前面加上前缀的命名方式。

例如:is_valid、has_error。

前缀命名法通常用于表示布尔类型的变量或表示状态的变量。

总结:良好的命名方式对于代码的可读性和可维护性至关重要。

在Python 编程中,我们可以使用驼峰命名法、下划线命名法、全大写命名法、首字母缩写命名法、匈牙利命名法和前缀命名法等多种命名方式。

匈牙利变量命名规则

匈牙利变量命名规则

匈牙利变量命名规则摘要: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.匈牙利命名法的优缺点匈牙利命名法的优点在于它简洁明了,能够快速地传达变量的含义。

尤其在代码中,匈牙利命名法能够提高程序的可读性,使程序员更容易理解代码的功能。

然而,匈牙利命名法也有一些缺点。

首先,由于它使用了大量的缩写,可能导致非母语人士难以理解。

匈牙利命名法

匈牙利命名法

匈牙利命名法
匈牙利命名法是一种由程序员创造的命名法,在编写程序时用来规范变量命名的一种
标准。

它最早是由前苏联科学家康斯坦丁•匈牙利发明的,他发明了这种命名法以此来提
高编程的可读性,使得程序变得更容易阅读和理解。

在匈牙利命名法中,变量的名称通常以一个或多个小写字母开头,使用下划线隔开的
每个单词的首字母来组成变量名。

用户决定按照什么样的顺序来排列元素,以及是否使用
英文字母,简写或者添加数字以及符号。

变量的前缀或后缀是可选的,它可以增加变量名
的可读性。

此外,在匈牙利命名法中,尽量避免使用javascript中关键字和保留字,以免发生
编译错误。

同时,在把变量定义为常量时,应该在变量名的所有单词的首字母大写,例如: const pi = 3.14;
另外,大多数情况下,应该使用有意义的变量名,而不是几个无意义的字母组合。


可以加强变量的可读性,并使得后续修改和维护变得更加轻松。

总之,匈牙利命名法是一种规范变量名称、组织变量名、加强变量可读性的程序命名
规范。

它有助于某一特定变量、对象和函数名之间的明确划分,有利于程序员之间进行编
程合作并降低编程错误的概率。

匈牙利命名规则和共性规则

匈牙利命名规则和共性规则

匈牙利命名法是一种编程时的命名规范。

基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。

命名要基于容易记忆容易理解的原则。

保证名字的连贯性是非常重要的。

举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。

这样可以很容易从变量名看出Switchboard 是一个表单,同样,如果此变量类型为标签,那么就应命名成lblSwitchboard。

可以看出,匈牙利命名法非常便于记忆,而且使变量名非常清晰易懂,这样,增强了代码的可读性,方便各程序员之间相互交流代码。

这种命名技术是由一位能干的Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的,他出生在匈牙利。

在Microsoft 公司中和他一起工作的人被教会使用这种约定。

这对他们来说一切都很正常。

但对那些Simonyi 领导的项目组之外的人来说却感到很奇特,他们认为这是死板的表达方式,甚至说带有这样奇怪的外观是因为它是用匈牙利文写的。

从此这种命名方式就被叫做匈牙利命名法。

据说这种命名法是一位叫Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。

现在,大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。

这种命名法的出发点是把量名变按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN变量命名规范,其中也有一些是我个人的偏向:属性部分全局变量g_常量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这里顺便写几个例子:hwnd :h 是类型描述,表示句柄,wnd 是变量对象描述,表示窗口,所以hwnd 表示窗口句柄;pfnEatApple :pfn 是类型描述,表示指向函数的指针,EatApple 是变量对象描述,所以它表示指向EatApple 函数的函数指针变量。

匈牙利命名规则

匈牙利命名规则

匈牙利命名规则作者:软件工程精品课程来源:软件工程精品课程加入日期:2010/3/20点击率:441五、符号风格•总体要求对于各种符号的定义,都有一个共通点,就是应该使用有实际意义的英文单词或英文单词的缩写,不要使用简单但没有意义的字串,尽可能不使用阿拉伯数字,更切忌使用中文拼音的首字母。

如这样的名称是不提倡的:value1,value2,value3,value4 …。

例如:file(文件),code(编号),data(数据),pagepoint(页面指针),fa xcode(传真号),address(地址),bank(开户银行), ...........................................................变量名称变量命名由(前缀+修饰语)构成。

现在比较流行的是一套由微软的一个匈牙利软件工程师首先使用,并且在微软推广开来,现在被称之为匈牙利命名法的命名规则。

匈牙利命名法规定,使用表示标识符所对应的变量类型的英文小写缩写作为标识符的前缀,后面在使用表示变量意义的英文单词或缩写进行命名。

下面是匈牙利命名法中的一些命名方式:(1)生存期修饰:用l(local) 表示局域变量,p(public)表示全局变量,s(send)表示参数变量(2)类型修饰:用s(AnsiString) 表示字符串,c(char)表示字符,n (number)数值,i(intger)表示整数,d(double)表示双精度,f(float)浮点型,b(bool)布尔型,d(date)表示日期型.例如:li_length 表示整形的局域变量,是用来标识长度的」s_code表示字符型的局域变量,用来标识代码..控件名称控件命名由(前缀+修饰语)构成。

前缀即为控件的名称。

按钮变量Button+Xxxxxxx 例如:ButtonSave,ButtonExit,Butt onPrint 等题标变量Label+Xxxxxxxx 例如:LabelName,LabelSex 等数据表变量Table+Xxxxxx 例如:TableFile,TableCount 等查询变量Query+Xxxxxx 例如:QueryFile,QueryCeneter 等数据源变量DataSource+Xxx 例如:DataSourceFileQataSourc eCenter 等oooooooooooooooo(注:对于与表有关的控件“修饰语”部分最好直接用表名。

匈牙利,骆驼,帕斯卡命名法规范

匈牙利,骆驼,帕斯卡命名法规范

匈牙利命名法,骆驼命名法,帕斯卡命名法,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语言编程中最常用的命名方式,它可以让程序员在编程过程中更容易地控制变量的使用。

正确地使用匈牙利命名法可以帮助我们写出更好、更清晰、更易于维护的代码。

它有助于减少程序员出现调试错误的可能性,也能够让代码更容易被他人理解。

对于那些拥有良好命名习惯的程序员来说,他们可以更快速地开发出良好的代码。

总而言之,使用匈牙利命名法可以极大地提升开发效率,提高程序的可读性和可维护性。

C语言第08讲匈牙利命名法

C语言第08讲匈牙利命名法

C语言第08讲匈牙利命名法第08讲匈牙利命名法一、匈牙利命名法匈牙利命名法计算机程序设计中的一种命名规则,用这种方法命名的变量显示了其数据类型。

匈牙利命名法有两种:系统匈牙利命名法和匈牙利应用命名法。

匈牙利命名法被设计成语言独立的,并且首次在BCPL语言中被大量使用。

由于BCPL只有机器字这一种数据类型,因此这种语言本身无法帮助程序员来记住变量的类型。

匈牙利命名法通过明确每个变量的数据类型来解决这个问题。

在匈牙利命名法中,一个变量名由n个小写字母开始,这些字母有助于记忆变量的类型和用处,紧跟着的就是程序员选择的任何名称。

这个后半部分的首字母可以大写以区别前面的类型指示字母(参见驼峰式大小写)。

二、系统匈牙利命名法与匈牙利应用命名法 1、系统命名法与应用命名法的区别在于前缀的目的在系统匈牙利命名法中,前缀代表了变量的实际数据类型。

例如:lAccountNum : 变量是一个长整型 ("l");arru8NumberList : 变量是一个无符号8位整型数组 ("arru8");szName : 变量是一个零结束字符串 ("sz"),这是西蒙尼最开始建议的前缀之一。

匈牙利应用命名法不表示实际数据类型,而是给出了变量目的的提示,或者说它代表了什么。

rwPosition : 变量代表一个行 ("rw")。

usName : 变量代表一个非安全字符串 ("us"),需要在使用前处理。

strName : 变量代表一个包含名字的字符串("str")但是没有指明这个字符串是如何实现的。

2、西蒙尼建议的大多数前缀都是自然语义的,但不是所有由于这种命名法通常使用小写字母开头用来助记,但是并没有对助记符本身作规定。

有几种被广泛使用的习惯(见下面的示例),但是任意字母组合都可以被使用,只要它们在代码主体中保持一致就可以了。

最新C++之匈牙利命名法

最新C++之匈牙利命名法

C++之匈牙利命名法
在编程时,变量、函数的命名是一个极其重要的问题。

好的命名方法使变量易于记忆且程序可读性大大提高。

Microsoft采用匈牙利命名法来命名Windows API函数和变量。

匈牙利命名法是由Microsoft的著名开发人员、Excel的主要设计者查尔斯·西蒙尼在他的博士论文中提出来
我们先看一下我们低海拔的平原到底有多少。

图中国真正的平原地区
我们会发现中国几千年扩张的这么大的地盘,其实平原相比少的可怜,在没有获得四川盆地和东北平原的时代,我们所熟知的夏商西周春秋战国,其实主要的活动区域仅仅是上面的黄色区域(华北平原)和红色区域(渭河谷地)以及长江边缘的小型平原。

其实大家也发现了,上图中往往有河流的地方,才有所谓平原。

其实绝大部分的平原,都是一种叫做“冲积平原”的东西,也就是说河流携带大量泥沙,然后沉积在地表,形成平坦肥沃的土地。

所以我们可以看到,我们最大最古老的华北平原,其实就是黄河冲积形成的肥沃土地。

华北平原。

匈牙利命名法及实用规则.

匈牙利命名法及实用规则.

一、匈牙利命名法:Windows 编程中用到的变量(还包括宏的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼 (Charles Simonyi 提出的。

基本原则是:变量名=属性+类型+对象描述⑴属性部分:全局变量:g_常量 :c_类成员变量:m_⑵类型部分:数组:a布尔型:b byte: bychar: c 字节计数 : cb 颜色引用值 : cr 坐标差(长度 : cx,cy双字 (DWORD: dw浮点型:f 函数 : fn句柄:h整数 (integer: i长整型 (long: l long 型指针 : lp短整型:n near 指针 : np指针:pstring: s 用 '\0'终止的字符串 : sz文本内容 : tm无符号:uWord: w坐标 : x,y⑶描述部分:初始化:Init临时变量:Tmp目的对象:Dst源对象:Src窗口:Wnd下边举例说明:hwnd :h 表示句柄, wnd 表示窗口,合起来为“窗口句柄” 。

m_bFlag:m 表示成员变量, b 表示布尔,合起来为:“某个类的成员变量,布尔型,是一个状态标志” 。

1,变量命名;2,常量命名、宏定义;3,资源名字定义格式;4,函数命名和命名空间、类的命名、接口的命名;5,结构体命名;6,控件的命名;7,注释;本文来自 CSDN 博客,转载请标明出处:/stkim/archive/2004/09/29/120347.aspx 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀, 标识出变量的作用域, 类型等。

这些符号可以多个同时使用, 顺序是先 m_(成员变量 , 再指针, 再简单数据类型, 再其他。

例如:m_lpszStr, 表示指向一个以 0字符结尾的字符串的长指针成员变量。

匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。

匈牙利命名法

匈牙利命名法

匈⽛利命名法匈⽛利命名法变量(还包含宏)的命名规则,⽐較系统和彻底的有 Windows 编程中⽤到的匈⽛利命名法。

匈⽛利命名法通过在变量名前⾯加上对应的⼩写字母的符号标识作为前缀,标识出变量的作⽤域,类型等。

这些符号能够多个同⼀时候使⽤,顺序是先m_(成员变量),再指针,再简单数据类型,再其它。

⽐如:m_lpszStr, 表⽰指向⼀个以0字符结尾的字符串的长指针成员变量。

有关匈⽛利命名法的⼀点有意思的说明是它的名字的由来。

这样的命名技术是由⼀位能⼲的 Microsoft 程序猿查尔斯·西蒙尼(Charles Simonyi) 提出的,他出⽣在匈⽛利。

在 Microsoft 公司中和他⼀起⼯作的⼈被教会使⽤这样的约定。

这对他们来说⼀切都⾮常正常。

但对那些 Simonyi领导的项⽬组之外的⼈来说却感到⾮常奇特,他们觉得这是死板的表达⽅式,甚⾄说代有这样奇怪的外观是由于它是⽤匈⽛利⽂写的。

从此这样的命名⽅式就被叫做匈⽛利命名法。

匈⽛利命名法关键是:标识符的名字以⼀个或者多个⼩写字母开头作为前缀;前缀之后的是⾸字母⼤写的⼀个单词或多个单词组合,该单词要指明变量的⽤途。

匈⽛利命名法中经常使⽤的⼩写字母的前缀前 缀类 型a数组 (Array)b布尔值 (Boolean)by字节 (Byte)c有符号字符 (Char)cb⽆符号字符 (Char Byte,没有多少⼈⽤)cr颜⾊參考值 (ColorRef)cx,cy坐标差(长度 ShortInt)dw Double Wordfn函数h Handlei整型l长整型 (Long Int)lp Long Pointerm_类的成员n短整型 (Short Int)np Near Pointerp Pointers字符串型sz以null做结尾的字符串型 (String with Zero End)w Word可是在不论什么情况下,都硬性规定使⽤匈⽛利命名法是迂腐的。

匈牙利命名法——优缺点

匈牙利命名法——优缺点
HWND hCtl; CComboBox* pComboBox;
HWND hCtl; CScrollBar* pScrollBar;
HSZ hszStr; CString pStr;
POINT pt; CPoint pt;
SIZE size; CSize size;
RECT rect; CRect rect;
p * 指针 pDoc
lp FAR* 远指针 lpszName
lpsz LPSTR 32位字符串指针 lpszName
lpsz LPCSTR 32位常量字符串指针 lpszName
lpsz LPCTSTR 如果_UNICODE定义,则为32位常量字符串指针 lpszName
_DEBUG 包括诊断的调试版本
_MBCS 编译多字节字符集
_UNICODE 在一个应用程序中打开Unicode
AFXAPI MFC提供的函数
CALLBACK 通过指针回调的函数
库标识符命名法 标识符 值和含义
u ANSI(N)或Unicode(U)
d 调试或发行:D = 调试;忽略标识符为发行。
ID_ 来自菜单项或工具栏的命令 ID_xDFFF
HID_ 命令Help上下文 HID_TOOLS_SPELLING 0x18000~0x1DFFF
IDP_ 消息框提示 IDP_INVALID_PARTNO 8~0xDEEF
HIDP_ 消息框Help上下文 HIDP_INVALID_PARTNO 0x30008~0x3DEFF
匈牙利命名法
匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。

匈牙利命名法工具

匈牙利命名法工具

匈牙利命名法工具1. 什么是匈牙利命名法?匈牙利命名法(Hungarian notation)是一种变量命名约定,由Charles Simonyi 在1970年代初引入。

它的基本原则是在变量名前面加上一个或多个表示变量类型的小写字母前缀,以提供更多关于变量的信息。

匈牙利命名法的主要目的是增加代码的可读性和可维护性。

通过在变量名中包含类型信息,开发人员可以更容易地理解变量的用途和数据类型,从而减少错误和提高代码质量。

2. 匈牙利命名法的优点2.1 提高代码可读性使用匈牙利命名法可以使代码更易于阅读和理解。

通过查看变量名称中的前缀,开发人员可以快速确定变量的类型,并根据需要采取相应的操作。

这有助于减少混淆和误解,并使代码更易于维护。

例如,在一个函数中,如果使用strName表示字符串类型的名称,iAge表示整数类型的年龄,那么其他开发人员可以很容易地理解这些变量所代表的含义,从而更快地理解代码。

2.2 减少错误通过使用匈牙利命名法,开发人员可以更容易地发现潜在的错误。

当变量类型与其预期的用法不匹配时,可能会引发错误或异常。

使用匈牙利命名法可以帮助开发人员及早发现这些问题,并采取相应的措施。

例如,如果一个变量被命名为strName,但在某处被错误地赋予了一个整数值,那么通过查看变量名就可以很容易地确定这个错误,并及时进行修复。

2.3 提高代码可维护性使用匈牙利命名法可以提高代码的可维护性。

当开发人员需要修改或扩展代码时,他们可以根据变量名称中的前缀快速了解其类型和含义。

这样就可以更快地找到需要修改的部分,并减少引入新错误的风险。

3. 匈牙利命名法工具为了帮助开发人员更方便地使用匈牙利命名法,在编写代码时可以借助一些工具来自动生成符合规范的变量名。

3.1 编辑器插件许多流行的代码编辑器和集成开发环境(IDE)都提供了插件来支持自动化生成匈牙利命名法变量名。

这些插件通常根据变量的类型和作用域来生成前缀,并提供快捷键或命令来自动完成变量名。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。
匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人发起使用的,
结果它在微软内部逐渐流行起来,并且推广给了全世界的Windows开发人员。下面将介绍匈牙利命名法,后面的例子里也会尽量遵守它和上面的代码风格。
w WORD (unsigned short) 无符号短整数
x,y x, y coordinates (short) 坐标值/短整数
v void 空
f Flags (usually multiple bit values) 标志(一般是有多位的数值)
fn Function 函数
g_ global 全局的
m_ 成员变量 m_pDoc,m_nCustomers
lp Long pointer 长指针
m_ Data member of a class 一个类的数据成员
n Short int 短整数
cr Color reference value 颜色(参考)值
cx Count of x (Short) x的集合(短整数)
dw DWORD (unsigned long) 双字(无符号长整数)
p Pointer 指针
s String 字符串
sz Zero terminated String 以0结尾的字符串
tm Text metric 文本规则
u Unsigned int 无符号整数
ul Unsigned long (ULONG) 无符号长整数
h Handle 句柄
i Integer 整数
l Long 长整数
有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。
前缀 类型 例子
g_ 全局变量 g_Servers
C 类或者结构体 CDocument,CPrintInfo
还是那句话,并不是要求所有的读者都要去遵守,但是希望读者作为一个现代的软件开发人员都去遵守它。
a Array 数组
b BOOL (int) 布尔(整数)
by Unsigned Char (Byte) 无符号字符(字节)
c Char 字符(字节)
cb Count of bytes 字节数
相关文档
最新文档