一般原则

尽量使用完整的英文描述符

采用适用于相关领域的术语

采用大小写混合增强可读性

尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一

避免使用长的名字

避免使用类似的名字,或者仅仅是大小写不同的名字

避免使用下划线(除静态常量等)

命名的字母大小写问题

包名: 字母全小写 例如: cn.coderstory.Activity.Main

类,接口 :首字母大写,其他全小写 例如: class Container

方法,变量 :第二个单词开始首字母大写 例如: seedMessage

常量: 大写,单词用“_”分割 例如: final static MIN_WIDTH = 4

接口 :首字母大写 ,后缀Impl 例如: class ContainerImpl

异常类: 首字母大写, 后缀Exception 例如: DataNotFoundException

抽象类 :首字母大写, 前缀Abstract 例如: AbstractBeanDefinition

Test类: 首字母大写, 后缀Test 例如: public Location newLocation()

方法的命名

类中获取值方法,一般要求被方法名使用被访问字段名,前面加上前缀get,如getLastUser(), getUserCount()

返回布尔型的判断方法一般要求方法名使用单词 is 做前缀,如isPersistent(),isString()。或者使用具有逻辑意义的单词,例如equal 或equals

用于修改某些设置的方法(一般返回类型为void):被访问字段名的前面加上前缀 set,如setFirstName(),setLastName(),setWarpSpeed()。

已办的方法一般采用完整的英文描述说明成员方法功能,第一个单词尽可能采用一个生动的动词,第一个字母小写,如 openFile(), addAccount()。

接口 :首字母大写 ,后缀Impl 例如: class ContainerImpl

异常类: 首字母大写, 后缀Exception 例如: DataNotFoundException

抽象类 :首字母大写, 前缀Abstract 例如: AbstractBeanDefinition

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文件声明顺序

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

包的定义

impot类(输入包的顺序、避免使用*)输入包应该按照java.*.*,javax.*.*,org.*.* ,com.*.*的顺序import在import的时候不应该使用* (例如: java.util.*)

类或接口的定义

静态变量定义,按public,protected,private顺序

实例变量定义,按public,protected,private顺序

构造方法

方法定义顺序按照public方法(类自己的方法),实现接口的方法,重载的public法,受保护方法,包作用域方法和私有方法。建议:类中每个方法的代码行数不要超过100行。

内部类的定义

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

java书写开头,JAVA代码书写规范汇总详解相关推荐

  1. java oracle数据库连接代码,java连接oracle数据库代码实例(注释详解)

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  2. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】

    蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载[2013年(第4届)~2021年(第12届)] 百度网盘-CSDN蓝桥杯资料(真题PDF+其它资料)   提取码:6666 2013年 ...

  3. java构造块_java中的静态代码块、构造代码块、构造方法详解

    运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...

  4. 消除冗长Java代码的工具——Lombok详解

    消除冗长Java代码的工具--Lombok详解 文章目录 消除冗长Java代码的工具--Lombok详解 什么是Lombok Lombok的作用 Lombok常用注解 Lombok安装 什么是Lomb ...

  5. Java 11中的新功能和API详解系列1

    Java 11中的新功能和API详解系列1 2018.9.27 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. JDK 11在语言语法方面有一个小改动,增加了相当数量的新API,以及 ...

  6. java方法怎么写_java方法定义格式详解,java方法怎么写?

    对于java方法你了解多少呢?你知道java方法应该如何写吗?下面要给大家介绍的就是和java方法相关的内容,一起来了解一下这个概念吧. 在学习运算符的时候,都为每个运算符单独的创建一个新的类和mai ...

  7. java中sleep()、wait()相同与不同详解

    java中sleep().wait()相同与不同详解 相同 java中Thread#sleep和Object#wait方法都是暂停当前线程,当前线程让出CPU占用.并不存在调用sleep后还占用CPU ...

  8. java加密算法入门(三)-非对称加密详解

    1.简单介绍 这几天一直在看非对称的加密,相比之前的两篇内容,这次看了两倍多的时间还云里雾里的,所以这篇文章相对之前的两篇,概念性的东西多了些,另外是代码的每一步我都做了介绍,方便自己以后翻阅,也方便 ...

  9. java的数组与Arrays类源码详解

    java的数组与Arrays类源码详解 java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 类的 ...

最新文章

  1. python中没有arcpy怎么办_Arcpy学习笔记(一)—无中生有(上)
  2. linux同步到对象存储,将Cpanel备份配置为S3对象存储的方法
  3. 官方全面解读“5G+工业互联网”
  4. 看完这20部电影相当于学了经济学(投资理财必看电影)
  5. 自己写的一个BMP转PNG工具BMP2PNGen
  6. resultMap1_自定义结果映射规则
  7. SQL开发中容易忽视的一些小地方( 三)
  8. origin对数据进行操作
  9. CString转化问题
  10. python添加excel模块,Python Excel操作——xlrd、xlwd,,读取1、导入模块 i
  11. ARC单例模式的实现
  12. [LeetCode] Minimum Window Substring 散列映射问题
  13. Sequence I
  14. 关于CCS软件的Graph功能使用详解
  15. pwm 正弦波_谈谈逆变器输出的方波与正弦波
  16. 【微信开发相关】Java后端微信授权登录,获取微信openid以及用户信息
  17. 【Cocos Creator实战教程(6)】——镜头跟随
  18. c语言编程题数的平方和,c语言问题:任意输入两个数,求两数的平方之和? , 求一个c语言问题,任意输入两个数,求出这两个数之间的所有水...
  19. VMware虚拟串口的设置与使用
  20. 输入数字怎么变成大写python_Python将阿拉伯数字转化为中文大写

热门文章

  1. MacM1-Miniconda相关合集
  2. DLL Hell (DLL噩梦)
  3. 什么是优化问题 Optimization Problem
  4. 身份证识别SDK——混合非原生调用
  5. MMORPG网络游戏开发之Protobuf的基本使用
  6. ansys怎么合并体_ANSYS梁体组合连接计算方法的讨论
  7. Ps使用旋转扭曲制作图片
  8. 分布式协调器ZooKeeper3.4—管理员手册
  9. LCD1602液晶显示屏用51单片机怎么驱动?(详细笔记附设计源码)
  10. 上海房产税免征--积分或居住证