JAVA代码书写规范汇总详解

 更新时间:2019年07月16日 10:41:00   作者:coderstory  
这篇文章主要介绍了JAVA代码书写规范汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一般原则

  1. 尽量使用完整的英文描述符
  2. 采用适用于相关领域的术语
  3. 采用大小写混合增强可读性
  4. 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一
  5. 避免使用长的名字
  6. 避免使用类似的名字,或者仅仅是大小写不同的名字
  7. 避免使用下划线(除静态常量等)

命名的字母大小写问题

  1. 包名: 字母全小写 例如: cn.coderstory.Activity.Main
  2. 类,接口 :首字母大写,其他全小写 例如: class Container
  3. 方法,变量 :第二个单词开始首字母大写 例如: seedMessage
  4. 常量: 大写,单词用“_”分割 例如: final static MIN_WIDTH = 4
  5. 接口 :首字母大写 ,后缀Impl 例如: class ContainerImpl
  6. 异常类: 首字母大写, 后缀Exception 例如: DataNotFoundException
  7. 抽象类 :首字母大写, 前缀Abstract 例如: AbstractBeanDefinition
  8. Test类: 首字母大写, 后缀Test 例如: public Location newLocation()

方法的命名

  1. 类中获取值方法,一般要求被方法名使用被访问字段名,前面加上前缀get,如getLastUser(), getUserCount()
  2. 返回布尔型的判断方法一般要求方法名使用单词 is 做前缀,如isPersistent(),isString()。或者使用具有逻辑意义的单词,例如equal 或equals
  3. 用于修改某些设置的方法(一般返回类型为void):被访问字段名的前面加上前缀 set,如setFirstName(),setLastName(),setWarpSpeed()。
  4. 已办的方法一般采用完整的英文描述说明成员方法功能,第一个单词尽可能采用一个生动的动词,第一个字母小写,如 openFile(), addAccount()。
  5. 接口 :首字母大写 ,后缀Impl 例如: class ContainerImpl
  6. 异常类: 首字母大写, 后缀Exception 例如: DataNotFoundException
  7. 抽象类 :首字母大写, 前缀Abstract 例如: AbstractBeanDefinition
  8. Test类: 首字母大写, 后缀Test 例如: public Location newLocation()

Java注释约定

  • 类的整体注释:遵循JavaDoc的规范,在每一个源文件的开头注明该CLASS的作用, 作简要说明, 并写上源文件的作者, 编写日期。如果是修改别人编写的源文件,要在修改信息上注明修改者和修改日期。

例如:

/**
* @(#):CLASSNAME.java
* @description: Description of this java
* @author: PROGRAMMER'S NAME YYYY/MM/DD
* @version: Version No.
* @modify:
* @Copyright: 版权由拥有
*/
  • 类中方法的注释:遵循JavaDoc的规范,在每个方法的前部用块注释的方法描述此方法的作用,以及传入,传出参数的类型和作用,以及需要捕获的错误。

例如:

/**
* 方法的描述
*
*
*@param 参数的描述
*@return 返回类型的描述
*@exception 出错信息的描述
*/
  • 行注释:使用//…的注释方法来注释需要表明的内容。并且把注释的内容放在需要注释的代码的前面一行或同一行。
  • 块注释:使用/**和*/注释的方法来注释需要表明的内容。并且把注释的内容放在需要注释的代码的前面。
  • 注释哪些部分:类的目的(即类所完成的功能)、设置接口的目的以及应如何被使用、成员方法注释(对于设置与获取成员方法,在成员变量已有说明的情况下,可以不加注释;普通成员方法要求说明完成什么功能,参数含义是什么?返回什么?)、普通成员方法内部注释(控制结构、代码做了些什么以及为什么这样做,处理顺序等)、实参和形参的含义以及其他任何约束或前提条件、字段或属性描述。而对于局部变量,如无特别意义的情况下不加注释。

JAVA文件声明顺序

类或接口应该按以下顺序声明(其实是加载顺序的问题):

  1. 包的定义
  2. impot类(输入包的顺序、避免使用*)输入包应该按照java.*.*,javax.*.*,org.*.* ,com.*.*的顺序import在import的时候不应该使用* (例如: java.util.*)
  3. 类或接口的定义
  4. 静态变量定义,按public,protected,private顺序
  5. 实例变量定义,按public,protected,private顺序
  6. 构造方法
  7. 方法定义顺序按照public方法(类自己的方法),实现接口的方法,重载的public法,受保护方法,包作用域方法和私有方法。建议:类中每个方法的代码行数不要超过100行。
  8. 内部类的定义

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java简单模拟实现一个线程池

    Java简单模拟实现一个线程池

    本文主要介绍了Java简单模拟实现一个线程池,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • Java数据结构之链表(动力节点之Java学院整理)

    Java数据结构之链表(动力节点之Java学院整理)

    这篇文章主要介绍了Java数据结构之链表(动力节点之Java学院整理)的相关资料,需要的朋友可以参考下
    2017-04-04
  • SpringBoot集成Redis流程详解

    SpringBoot集成Redis流程详解

    这篇文章主要介绍了SpringBoot集成Redis流程详解,导入jar包,编写配置类,编写util类,配置yml这四个步骤,有详细的代码示例,,需要的朋友可以参考下
    2023-05-05
  • 如何将char类型的数字字符转换成int类型问题

    如何将char类型的数字字符转换成int类型问题

    这篇文章主要介绍了如何将char类型的数字字符转换成int类型问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Java计算黑洞数的方法示例

    Java计算黑洞数的方法示例

    这篇文章主要介绍了Java计算黑洞数的方法,简单描述了黑洞数的概念及具体计算方法,涉及java数值运算相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • java文字转语音播报功能的实现方法

    java文字转语音播报功能的实现方法

    这篇文章主要给大家介绍了关于java文字转语音播报功能的实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Fluent Mybatis,原生Mybatis,Mybatis Plus三者功能对比

    Fluent Mybatis,原生Mybatis,Mybatis Plus三者功能对比

    本文主要介绍了Fluent Mybatis,原生Mybatis,Mybatis Plus三者功能对比,分享给大家,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 深入了解Java对象的克隆

    深入了解Java对象的克隆

    这篇文章主要介绍了Java对象的克隆的相关资料,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-08-08
  • Java默认传入时间段时间的实例

    Java默认传入时间段时间的实例

    下面小编就为大家带来一篇Java默认传入时间段时间的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 一文带你掌握Java中Scanner类的使用

    一文带你掌握Java中Scanner类的使用

    Scanner类是java.util包中的一个类,常用于控制台的输入,当需要使用控制台输入时即可调用这个类。本文将通过一些简单的例子为大家介绍一下Java中Scanner类的使用,需要的可以参考一下
    2023-04-04

最新评论