Java命名规则
Java命名规则
- 定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性。
命名规则:
- java源文件的命名 如果有public类,那么源文件名就是public类名,一个文件中只能有一个public类;没有的话文件名可以随便起。
- 包的命名 全部小写,域名倒写
- 类的命名 每个单词的单词首字母均大写,缩写单词每个字母都大写,命名类时应尽量选择名词。
- 方法的命名 第一个单词首字母小写,后面单词的字母首大写
- 变量的命名 和方法的命名规范相同
- 常量的命名 单词全部大写,并且指出该常量完整含义,如果由多个单词组成,用下划线来分割这些单词。
- 变量的主要的的命名规范有以下三种:
1. Camel 标记法:首字母是小写的,接下来的单词都以大写字母开头
2. Pascal 标记法:首字母是大写的,接下来的单词都以大写字母开头
3. 匈牙利标记法:在以Pascal标记法的变量前附加小写序列说明该变量的类型
在Java我们一般使用匈牙利标记法,基本结构为scope_typeVariableName,它 使用1-3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。例如,定义一个整形变量,用来记录文档数量:intDocCount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加容易理解。
- 对于在多个函数内都要使用的全局变量,在前面再增加“g_”。例如一个全局的字符串变量:g_strUserInfo。
- 在变量命名时要注意以下几点:
1. 选择有意义的名字,注意每个单词首字母要大写。
2. 在一段函数中不使用同一个变量表示前后意义不同的两个数值。
3. i、j、k等只作为小型循环的循环索引变量。
4. 避免用Flag来命名状态变量。
5. 用Is来命名逻辑变量,如:blnFileIsFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。
6. 如果需要的话,在变量最后附加计算限定词,如:curSalesSum。
7. 命名不相包含,curSales和curSalesSum。
8. static final 变量(常量)的名字应该都大写,并且指出完整含义。
9. 如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用intCnt,而在另一些区域中又使用intCount,就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写。
10. 通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用 strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。常用的量词后缀有:First(一组变量中的第一个)、Last(一组变量中的最后一个)、Next(一组变量中的下一个变量)、Prev(一组变量中的上 一个)、Cur(一组变量中的当前变量)。
11. 为每个变量选择最佳的数据类型,这样即能减少对内存的需求量,加快代码的执行速度,又会降低出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种情况下,编译器不会产生运行期错误,它只是迫使该值符合数据类型的要求。这类问题极难查找。
12. 尽量缩小变量的作用域。如果变量的作用域大于它应有的范围,变量可继续存在,并且在不再需要该变量后的很长时间内仍然占用资源。它们的主要问题是,任何类中的任何方法都能对它们进行修改,并且很难跟踪究竟是何处进行修改的。占用资源是作用域涉及的一个重要问题。对变量来说,尽量缩小作用域将会对应用程序的 可靠性产生巨大的影响。