JAVA命名规范

来源:互联网 发布:linux 服务器版 编辑:程序博客网 时间:2024/06/04 21:00

 JAVA命名规范

类的命名(单词首字母大写)

① Java类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大写,例如TestPage 。

② 如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,例如:XMLExample 。

③ 由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。

④ 减少类名中缩写的使用量不要使用任何类前缀,不要使用带下划线的字符 。

 

 

函数和方法的命名(首字母小写,字母开头大写)

方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。可以为动词或动词+名词组合例如:drawImage

具体如下:

① 设置/获取某个值的Method,应该遵循setV/getV规范 。

② 返回长度的Method,应该命名为length 。

③ 测试某个布尔值的Method,应该命名为isV 。

④ 将对象转换为某个特定类型的Mehod应该命名为toF 。

 

 

变量的命名

一 . 变量命名的方法

1.  Camel 标记法

定义:第一个单字以小写字母开始;第二个单字的首字母为大写字母
例如 :myFirstName、myLastName

这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。

骆峰式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。
范围:常用于变量。
规则:

①    第一个单词 大写

②    之后,其他单词首字母大写
譬如 :int myStudentCount;

 

2.  Pascal 标记法

定义:每一个单字的首字母都采用大写字母的命名格式,被称为“Pascal命名法”,源自于Pascal语言的命名惯例,也有人称之为“大驼峰式命名法”(Upper Camel Case),为驼峰式大小写的子集。

范围:常用于类名,函数名,属性,命名空间。
譬如 public class DataBaseUser;

规则:

① 首字母是大写的

② 后续单字的首字母亦用大写字母

③ 单字之间不以空格断开或连接号(-)、底线(_)连结
例如:FirstName、LastName

 

3.  匈牙利标记法

在以Pascal标记法的变量前附加小写序列说明该变量的类型

基本原则是:变量名=属性+类型+对象描述

匈牙利命名法的好处:

①  从名字中就可以看出变量的类型

②  拥有类似语义的多个变量可以在一个代码块中使用:dwWidth, iWidth, fWidth, dWidth

③  变量名在仅仅知道他们的类型时可以被轻易记住

④  可以使变量名更加一致

⑤  决定一个变量名的时候可以更机械化,更快

⑥  不合适的类型转换和操作可以在阅读代码的时候被检测出来

⑦  在那些数字被当作字符串处理的基于字符串的语言中非常有用

⑧  在匈牙利应用命名法中,变量名确保不会犯以下错误:

heightWindow = window.getWidth();

匈牙利:i 表示整数s表示字符串,如下所示
var iMyTestValue = 0, sMySecondValue = "hi";

 

在 Java我们一般使用匈牙利标记法,基本结构为scope_typeVariableName,它使用1-3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。例如,定义一个整形变量,用来记录文档数量:intDocCount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加容易理解。数据类型有: byte、int、char、long、float、 double、boolean和short。

对于在多个函数内都要使用的全局变量,在前面再增加“g_”。例如一个全局的字符串变量:g_strUserInfo

 

 

二.在变量命名时要注意以下几点

①  一段函数中不使用同一个变量表示前后意义不同的两个数值。

②  ijk等只作为小型循环的循环索引变量。

③ 避免用Flag来命名状态变量。

④ 用Is来命名逻辑变量,如:blnFileIsFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。

    ⑤ 如果需要的话,在变量最后附加计算限定词,如:curSalesSum。

⑥ 命名不相包含,curSales和curSalesSum。

⑦ static final 变量(常量)的名字应该都大写,并且指出完整含义。

    ⑧ 需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用intCnt,而在另一些区域中又使用intCount,就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写

    ⑨ 在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用 strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。常 用的量词后缀有:First(一组变量中的第一个)、Last(一组变量中的最后一个)、Next(一组变量中的下一个变量)、Prev(一组变量中的上 一个)、Cur(一组变量中的当前变量)。

 ⑩ 为每个变量选择最佳的数据类型,这样即能减少对内存的需求量,加快代码的执行速度,又会降低出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种情况下,编译器不会产生运行期错误,它只是迫使该值符合数据类型的要求。这类问题极难查找。

 ⑪ 尽缩小变量的作用域。如果变量的作用域大于它应有的范围,变量可继续存在,并且在不再需要该变量后的很长时间内仍然占用资源。它们的主要问题是,任何类中的任何方法都能对它们进行修改,并且很难跟踪究竟是何处进行修改的。占用资源是作用域涉及的一个重要问题。对变量来说,尽量缩小作用域将会对应用程序的可靠性产生巨大的影响。

 

 

常量命名(全部大写 ,常加下划线)

常量的命名方法,在JAVA代码中,无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。常量可以集中在程序开始部分定义或者更宽的作用域内,名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线“_”来分割这些单词如:NUM_DAYS_IN_WEEK、MAX_VALUE

 

 

 

参数的命名

参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑

请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。使用描述性参数名。参数名应该具有足够的描述性,这样在大多数情况下参数名和它的种类可以用来确定它的意思。根据参数的意思来命名参 数,而不是根据参数的种类来命名。我们希望开发工具可以用很方便的方式提供关于参数种类的信息,这样参数名可以得到更好的使用,可以对语义而不是对种类进行描述。但是偶尔使用根据类型命名的参数名也是完全可以的。不要使用保留参数。如果在下一个版本中需要更多的数据,可以增加进来。

例如:Type GetType (string typeName) 

   string Format (string format, object [ ] args)

 

 

 

代码书写格式规范

① 文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间的空行为2-3行。

② 数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。

③ 每行长度尽量避免超过屏幕宽度,应不超过80个字符。

④ 尽量用公共过程或子程序去代替重复的功能代码段。

⑤ 使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将 x=a*b/c*d 写成 x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。

⑥ 避免采用过于复杂的条件测试。

⑦ 避免过多的循环嵌套和条件嵌套。

⑧ 一个函数不要超过200行。一个文件应避免超过2000行。

⑨  避免采用多赋值语句,如x = y = z;

0 0