变量的命名方法【Hungarian】【camelCase】【PascalCase】

一、匈牙利命名法【Hungarian】:

广泛应用于象Microsoft Windows这样的环境中。

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

匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。

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

匈牙利命名法中常用的小写字母的前缀:

前缀类型
a 数组 (Array)
b 布尔值 (Boolean)
by 字节 (Byte)
c 有符号字符 (Char)
cb 无符号字符 (Char Byte,没有多少人用)
cr 颜色参考值 (ColorRef)
cx,cy 坐标差(长度 ShortInt)
dw Double Word
fn 函数
h Handle(句柄)
i 整型
l 长整型 (Long Int)
lp Long Pointer
m_ 类的成员
n 短整型 (Short Int)
np Near Pointer
p Pointer
s 字符串型
sz 以null做结尾的字符串型 (String with Zero End)
w Word


二、骆驼命名法【camelCase】:

骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

printEmployeePaychecks();

print_employee_paychecks();

第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。

骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft
Windows这样的环境中,它使用得当相多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。


三、帕斯卡命名法【PascalCase】:

与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写

如:public void
DisplayInfo();
string UserName;
二者都是采用了帕斯卡命名法.

【在C#中,以帕斯卡命名法和骆驼命名法居多。
在C#中,简单的变量一般用camelCase规则,而比较高级的

命名使用PascalCase。
如.net Framework的公共字段及公共属性。】

简单说

MyData是一個帕斯卡命名的示例。
myData是一個骆驼命名法。
iMyData是一個匈牙利命名法,小些说明了变量的类型或者用途。



=====================================================================



camelCase

今天才看到这个有趣的称谓。程序里变量名称的拼写很多人有不同的习惯。基本上语言本身就有一个风格。比如 StringLength,string_length,stringLength。最后一种就叫 camel-case。第一个词小写,后续的词的首字母大写。造成一种效果,就跟骆驼的驼峰一样,中间高,两边低,有单峰骆驼,双峰骆驼,多峰骆驼(这个好像比较少见)。微软的命名风格是第一种。但匈牙利命名法里把变量类型作为前缀(小写)的写法又刚好和camel-case巧合起来。



据说这种写法起源很早,但产生影响力的系统可能是Smalltalk,Java等。



以前这种写法还只限于程序领域,但是现在它的影响力慢慢渗透出来,好多产品的名称都变成这个风格了,iMac, xServe, iTunes,硬件软件都以取这样的名称为时尚。


=====================================================================

相关文档
最新文档