使用Java作为程序语言时,好的命名规范都有哪些

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Java作为程序语言时,好的命名规范都有哪些相关的知识,希望对你有一定的参考价值。

    Package 的命名

      Package 的名字应该都是由一个小写单词组成。

    Class 的命名

      Class 的名字必须由大写字母开头而其他字母都小写的单词组成

    Class 变量的命名

      变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。

    Static Final 变量的命名

      Static Final 变量的名字应该都大写,并且指出完整含义。

    参数的命名

      参数的名字必须和变量的命名规范一致。

      

    数组的命名

      数组应该总是用下面的方式来命名:

      byte[] buffer;

      而不是:

     byte buffer[];

      

    方法的参数

      使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:

      SetCounter(int size)

      this.size = size;

      

    变量名

    普通变量命名应该采用首字母小写,其他字母首字母大写的方式。

    final static变量的名字应该都大写,并且指出完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词如。

      NUM_DAYS_IN_WEEK MAX_VALU

    如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性

      context=ctx message=msg

    通过在结尾处放置一个量词,就可创建更加统一的变量

      First(一组变量中的第一个) Last(一组变量中的最后一个) Next(一组变量中的下一个变量) Prev(一组变量中的上一个) Cur(一组变量中的当前变量)

       无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。

     索引变量:i、j、k等只作为小型循环的循环索引变量。

    逻辑变量:避免用flag来命名状态变量,用is来命名逻辑变量。

      if(isClosed) dosomeworks; return;

      数组

      总是使用以下方式定义数组:

      int[] arr = new int[10];

      禁止使用C语言的是形式:

      禁止 int arr[] = new int[10];

      集合

      数组或者容器推荐命名方式为名词+s的方式,例如:

     List persons = getPerson(); for(Person person : persons) dosomeworks;

      泛型

      应该尽量简明扼要(最好是一个字母),以利于与普通的class或interface区分

      Container中的Element应该用E表示;Map里的key用K表示,value用V;Type用T表示;异常用X表示

      如果需要接收多个Type类型的参数,应该用邻接T的大写字母——例如S——来依次表示,当然也可以用T1, T2这样的方式

      public class HashSet extends AbstractSet … public class HashMapextends AbstractMap … public class ThreadLocal … public interface Functor  T val() throws X;

      推荐的命名

      1.当要区别接口和实现类的时候,可以在类的后面加上“Impl”。

      interface Container class ContainerImpl

      2.Exception类最好能用“Exception”做为类命名的结尾

      DataNotFoundException InvalidArgumentException

      3.抽象类最好能用“Abstract”做为类命名的开头

      AbstractBeanDefinition AbstractBeanFactory

      4. Test类最好能用“Test”做为类命名的结尾

      ContainerTest

      5.简称与缩写(不推荐使用)

      cp代表colorPoint buf代表buffer off代表offset len代表length

      除非是在循环中,否则一般不推荐使用单个字母作为变量名,不过也有例外,即约定俗成的单个字母

      b代表byte c代表char d代表double e代表Exception f代表float i, j, k代表整数 l代表long o代表Object s代表String v代表某些类型的特定值

      代码风格

      花括号

  花括号统一采用以下格式:

  if(bool experssion) dosomework;

  除非花括号中为空,不然任何情况下不能省略花括号,并且花括号必须换行,例如:

  if(i==0) return; while(true)

  以下写法禁止出现:

  禁止 if(i != 0) return; 禁止 if(i !=0) return;

  括号

  括号的前,后一个字符不需要空格,例如:

 Person p = new Person(“Jack”, 17);

  空格

  逗号之后紧跟一个空格。

  Person p = new Person(“Jack”, 16, “China”);

  二元操作符前后跟空格。

  int i = a + b – c * d;

  3. 一元操作符不需要空格,for语句分号后有空格。

  for(int i = 0; I < 10; i++) dosomework;

  4. 括号前后不需要空格

  类

  类的定义结构按照顺序为:

  1) 常量

  2) 成员变量

  3) 构造函数

  4) 成员函数

  5) get和set方法

  各个部分之间留出一个空行。

  例如:

      规范类模板:

      class Person private final static int MAX_AGE = 100; private String firstname = “Jack”; public Person() public Person(String firstname) this.firstname = firstname; public void doExercise() dosomeworks; run(); private void run() dosomeworks; public getFirstname() return firstname; public setFirstname(String firstname) this.firstname = firstname;

      2.构造函数

      1) 参数为空的构造函数出现在最上方

      2) 有调用关系的构造函数相邻

      3) 参数尽量由少到多从上至下排序

      3.使用成员变量

      在类的方法内引用成员变量了命名冲突以外,不使用this。非特殊情况在类的方法内都不使用get和set方法存取成员变量。

      4.方法

      有调用关系的方法尽量放在相邻的位置,public和private方法可以交叉放置。

      5.get和set方法,所有需要公开的成员变量都要符合良好的javabean规范,提供get和set方法,尽量使用IDE工具自动生成。

      Javadoc注释

      在每个程序的最开始部分,一般都用Javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加 Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以Javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段落将在生成文档中以特定方式显示

参考技术A 标识符命名法
标识符命名法最要有四种:

1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。

2 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写

3 下划线命名法:单词与单词间用下划线做间隔。

4 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量前附加小写序列说明该变量的类型。 量的取名方式为:<scope_> + <prefix_> + <qualifier>范围前缀,类型前缀,限定词。

个人觉得标识符命名原则:尽可能的用最少的字符而又能完整的表达标识符的含义。

英文缩写原则:
1 较短的单词可通过去掉“元音”形成缩写
2 较长的单词可取单词的头几个字母形成缩写
3 此外还有一些约定成俗的英文单词缩写.
参考技术B 标识符命名法
标识符命名法最要有四种:

1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。

2 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写

3 下划线命名法:单词与单词间用下划线做间隔。

4 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量前附加小写序列说明该变量的类型。 量的取名方式为:<scope_> + <prefix_> + <qualifier>范围前缀,类型前缀,限定词。

个人觉得标识符命名原则:尽可能的用最少的字符而又能完整的表达标识符的含义。

英文缩写原则:
1 较短的单词可通过去掉“元音”形成缩写
2 较长的单词可取单词的头几个字母形成缩写
3 此外还有一些约定成俗的英文单词缩写.
参考技术C 标识符命名法
标识符命名法最要有四种:

1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。

2 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写

3 下划线命名法:单词与单词间用下划线做间隔。

4 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量前附加小写序列说明该变量的类型。 量的取名方式为:<scope_> + <prefix_> + <qualifier>范围前缀,类型前缀,限定词。

个人觉得标识符命名原则:尽可能的用最少的字符而又能完整的表达标识符的含义。

英文缩写原则:
1 较短的单词可通过去掉“元音”形成缩写
2 较长的单词可取单词的头几个字母形成缩写
3 此外还有一些约定成俗的英文单词缩写.
参考技术D 类、接口每个单词首字母大写,成员变量、方法名使用驼峰命名,静态变量、常量所有字母大写单词之间用下划线隔开。所有命名尽量用字母、数字、下划线组合,少用其他字符。

1.关键字保留字标识符命名规范

1.关键字与保留字
  关键字(keyword)的定义和特点
    定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
    特点:关键字中所有字母都为小写
  Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字
2.标识符
  标识符:
    Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
    技巧:凡是自己可以起名字的地方都叫标识符。
  
  定义合法标识符规则:
    由26个英文字母大小写,0-9 ,_或 $ 组成
    数字不可以开头。
    不可以使用关键字和保留字,但能包含关键字和保留字。
    Java中严格区分大小写,长度无限制。
    标识符不能包含空格
3.Java中的名称命名规范:
  包名:多单词组成时所有字母都小写:xxxyyyzzz
  类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
  变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
  常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
 
  注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
  注意2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

以上是关于使用Java作为程序语言时,好的命名规范都有哪些的主要内容,如果未能解决你的问题,请参考以下文章

网页设计的目录结构规范都有哪些?

Java建包命名规范是啥?

Java中类的命名规范?

什么是常量?Java中,常量的定义规则都有哪些?

GO语言系列

java的全局变量都有哪些作用?