文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java命名规范有哪些

2023-06-17 11:02

关注

这篇文章将为大家详细讲解有关Java命名规范有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

基本命名规范

包命名

包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反。

由一组以“.”连接的标识符构成,通常***个标识符为符合网络域名的两个或者三个英文小写字母。

People  TestPage  XMLExample

类,接口命名

类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。

People  TestPage  XMLExample

方法名

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

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

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

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

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

getDate();  length();  isReady();  toOracleFormat();

变量名

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

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<Person> persons = getPerson();  for(Person person : persons){  dosomeworks;  }

泛型

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

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

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

public class HashSet<E> extends AbstractSet<E> {&hellip;}   public class HashMap<K, V> extends AbstractMap<K, V> {&hellip;}   public class ThreadLocal<T> {&hellip;}   public interface Functor<T, X extends Throwable> {       T val() throws X;   }

推荐的命名

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

interface Container  class ContainerImpl

Exception类***能用“Exception”做为类命名的结尾

DataNotFoundException  InvalidArgumentException

抽象类***能用“Abstract”做为类命名的开头

AbstractBeanDefinition  AbstractBeanFactory

Test类***能用“Test”做为类命名的结尾

ContainerTest

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

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 &ndash; c * d;

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

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

括号前后不需要空格

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

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;  }  }

构造函数

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

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

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

使用成员变量

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

方法

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

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

Javadoc注释

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

关于Java命名规范有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯