网站备案是什么一回事网站快速优化排名推荐
目前,共有四种基本的编程命名规范,分别是匈牙利命名法、驼峰式命名法、帕斯卡命名法和下划线命名法,其中前三种命名法较为流行。
例如:iMyData是一个匈牙利命名法;myData是一个驼峰式命名法;MyData是一个帕斯卡命名法;my_data是一个下划线命名法。
在后四篇文章中我会具体讲解每种命名法的命名规则,在此之前我们了解一下命名的基本规则。
(1)标识符的命名要清晰明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。尽量采用英文单词或中文全拼表示,若出现英文和中文混合定义时,使用连字符“-”将英文和中文割开。较短的单词可以通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;还有一些单词拥有大家公认的缩写。例如:temp->tmp、message->msg等缩写能够被大家基本认可。
(2)命名中若使用特殊约定或缩写,则要有注释说明。应该在源文件的开始之处对文件中所使用的缩写或约定,特别是要对特殊的缩写进行必要的注释说明。
(3)自己特有的命名风格要自始至终保持一致,不可来回变化。个人的命名风格,在符合所在项目组或产品组的命名规则的前提下才可使用,即命名规则中没有规定到的地方才可以有个人命名风格。
(4)对于变量命名,禁止取单个字符,如i、j、k等,建议除了要有具体的含义外,还能表明其变量类型、数据类型等,但i、j、k作局部循环变量是允许的。
(5)除非必要,不要使用数字或较奇怪的字符来定义标识符。
(6)命名规范必须与所使用的系统风格保持一致并在同一项目中统一。
编程命名规范之匈牙利命名法
匈牙利命名法是一种编程时的命名规范,由微软公司Excel的主要设计者查尔斯·西蒙尼提出,因为西蒙尼是匈牙利人,所以称这种命名规范为匈牙利命名法。
匈牙利命名法的基本原则是:变量名=属性+类型+对象描述。其中对每一个对象名称都要求有明确含义,比如取对象名字的全称或一部分,命名要容易记忆与理解,且保证其连贯性。
匈牙利命名法为C标识符的命名定义了一种非常标准化的方式,以如下两条规则为基础:
1)标识符的名字以一个或多个小写字母开头,用这些字母来指定数据类型。
2)在标识符内,前缀以后就是一个或多个第一个字母大写的单词,这些单词清楚地指出了源代码内该对象的用途。
例如:m_szStudentName表示一个学生名字的类成员变量,数据类型是以“\0”结束的字符串型。
前缀类型:
前缀 | 类型 |
b | 布尔型 |
c | 字符型 |
C | 类或结构 |
d | 双精度型 |
f | 浮点型 |
i | 整型 |
l | 长整型 |
m_ | 成员变量 |
n | 无符号值 |
p | 指针 |
S | 结构体 |
sz | 以“\0”结束的字符串 |
str | 字符串型 |
编程命名规范之驼峰式命名法
驼峰式命名法又称骆驼式命名法,由于Perl语言中普遍使用大小写混合格式,而Larry Wall等人所著的畅销书《Programming Perl》的封面图片是一匹骆驼,所以称这种命名规范为骆驼式命名法。
驼峰式命名法混合使用大小写字母来构成变量和函数的名字,我们可以将驼峰式命名法的命名规则视为一种惯例,使用驼峰式命名法是为了增加识别性与可读性。
一般我们所说的驼峰式命名法指的是小驼峰式命名法。
小驼峰式命名法的命名规则为:firstName,camelCase。也就是说,除了第一个单词之外,其他单词的首字母大写,常用于变量的命名。
例如:int myStudentCount
注意事项:
1)由于Java面向对象编程的特性,在命名时应尽量选择名词。
2)包名的书写规范推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司或机构内所使用的包名的唯一性,包名全部为小写字母,且具有实际的区分意义。
编程命名规范之帕斯卡命名法
帕斯卡命名法又称大驼峰式命名法,其命名规则为:FirstName,CamelCase。也就是说,所有单词的首字母大写,常用于类名的命名。
例如:public class DataBaseUser
注意事项:
1)单字之间不以空格断开或连接号(-)、底线(_)连结。
2)在C#中,以帕斯卡命名法和骆驼命名法居多。C#的编码惯例中,给公共成员变量(public)、受保护的成员变量(protect)或内部成员变量(internal)命名时,应使用帕斯卡命名法命名,给私有成员变量(private)命名时,应使用驼峰式命名法命名,并以一个下划线开头。
命名时的良好习惯:
(1)自定义的属性以Attribute结尾。
(2)自定义的异常以Exception结尾。
(3)方法的命名一般为动宾短语,例如:CreateFile()。
(4)代码的缩进要用Tab,不用Space。
(5)局部变量和命名空间(namespace)的名字要有意义。
(6)生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string。
编程命名规范之下划线命名法
下划线命名法要求名称中的每一个逻辑断点都用一个下划线来标记,即使用下划线分割多个单词。随着C语言的出现,下划线命名法逐渐流行起来,在Unix、Linux环境下以及在GNU代码中的使用非常普遍。
例如:int my_age
使用下划线命名法,单词字母都是小写,看起来十分简洁。
Python中使用下划线命名的规则:
(1)前后无下划线表示该变量、函数、成员或方法公有,可以以任何形式访问。
(2)前置单下划线表示该内容受保护,被看作是“protect”,意味着只有类对象和子类对象自己能访问到这些变量,在模块或类外不可以使用,不能用“from module import *”导入。
(3)私有成员“private”,前置双下划线表示该变量、函数、成员或方法私有,意味着只有类对象自己能访问,连子类对象也不能访问到这个数据,不能用“from module import *”导入。
(4)前后双下划线的命名方式用于Python里的特殊方法,用户不要这样定义。
(5)后置单下划线,用于避兔和Python关键词冲突,无特殊含义。