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

时间:2020-12-16 20:05:39

一、匈牙利命名法:广泛应用于象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  


二、骆驼命名法:
          骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:
     printEmployeePaychecks();
     print_employee_paychecks();
       第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。
      骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得当相多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。

三、帕斯卡(pascal)命名法:
         与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写
         如:public void DisplayInfo();
                string UserName;
                二者都是采用了帕斯卡命名法. 在C#中,以帕斯卡命名法和骆驼命名法居多。


简单说

MyData 就是一个帕斯卡命名的示例 
而myData是一个骆驼命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼 
而iMyData是一个匈牙利命名法,它的小写的i说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途.

 

http://blog.csdn.net/akof1314/article/details/5163987

 

在一般的程序编码中一般都会遵循这两种命名法的一种: Pascal:指名称中单词的第一个字母大写,如 EmployeeSalary,ConfirmationDialog,PlainTextEncoding; camel:名称中第一个单词的第一个字母不是大写,如 employeeSalary,confirmationDialog,plainTextEncoding; 在C#中,命名空间,类,以及基类中的成员等名称遵循Pascal命名法,而传递给参数的所有参数,两个同名对象的区分用camel命名法,当然vb.net不区分大小写,需要区别对待。 遵循这样的约定是一个很好的习惯,并对许多开发团队和组织接受,可以方便更多人来阅读代码。

 

http://blog.sina.com.cn/s/blog_4c5d60c201000apr.html