软件的命名方式
在接触到这个作业以前,我并不懂什么是软件的命名方式,也很少听说过类似的名词。然而第一次听到“命名方式”这个名词时,我的心中其实是充满疑惑的,为什么软件还要有命名方式?是分类方式吗?还是说是人为规定的一些规则?
后来在网上查询了一些资料,发现有三种常用的命名方式,分别为匈牙利命名,骆驼命名法和帕斯卡命名法。
一、匈牙利命名规范:广泛应用于象Microsoft Windows这样的环境中。
Charles Simonyi设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是ca,以及字符串(以空类型结尾的字符数组)以sz为前缀.这些名字可能会非常古怪.比如说:lpszFoo表示"Foo"是一个指向以空字符为结尾的字符串的长整型指针. 这种方法的优点是使人能够通过变量的名字来辨别变量的类型,而不比去查找它的定义.遗憾的是,这种方法不仅使变量名字非常绕口,而且使改变变量类型的工作变得十分艰巨. 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。 匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
二、骆驼命名法(Camel) 骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字,注意第一个单词是永远小写的,后面的单词首字母是大写,其余的就是小写。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数: printEmployeePaychecks(); print_employee_paychecks(); 第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。 骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得当相多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。 好处很明显,可以很清晰的明白命名的意义,这也是编程命名的一个基本出发点。
三、帕斯卡(pascal)命名法: 与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写 如:public void DisplayInfo(); string UserName; 二者都是采用了帕斯卡命名法. 在C#中,以帕斯卡命名法和骆驼命名法居多。
看了很多有关的资料,原来所谓命名法就是对于书写代码时的规则,无规矩不成方圆,我在这方面还要学习很多。