Java代码书写规范

简介: 一、通用规范1.1命名规范1. 使用全单词表示2. 使用贴切的词汇3. 使用大小写混合4. 尽量少用缩略词,否则,维护一个标准的缩略词表5. 避免过长,小于156. 避免类似的命名或仅在大小写上区分的命名7. 标准缩略词做一个单词处理1.2文档规范1. 增加注释,以确保代码清晰2. 无需注释的程序,可能也不值得运行3. 避免修饰性注释4. 保持注释简洁5. 写

一、通用规范

1.1命名规范

1. 使用全单词表示

2. 使用贴切的词汇

3. 使用大小写混合

4. 尽量少用缩略词,否则,维护一个标准的缩略词表

5. 避免过长,小于15

6. 避免类似的命名或仅在大小写上区分的命名

7. 标准缩略词做一个单词处理

1.2文档规范

1. 增加注释,以确保代码清晰

2. 无需注释的程序,可能也不值得运行

3. 避免修饰性注释

4. 保持注释简洁

5. 写代码之前写注释

6. 注释中说明代码的原因,而不是结果

二、Java编码规范

2.1命名和大小写规范:

下面这些广泛使用的命名规范可以应用到Java中的包、类、方法、属性和常量。因为这些规范的使用非常普遍,而且它们还影响到了我们定义的类的公共API,所以我们应该认真遵守这些规范:

1. 包

   保证包的名称是唯一的,包的名称前缀以我们的网络域名称,包名小写(例如com.itsv.utils)置于文件最上一行

2. 类

   第一个字母必须大写,所以类名称是大小写混合的(例如String);如果类名称是由多个单词组成的,那么每个单词都应该以大写字母开头(例如StringBuffer);如果一个类名称或者类名称中的一个单词是字母缩写词,那么我们可以把这个缩写词中的每个字母都写成大写(例如URLHTMLParser)。因为设计的类是用来代表对象的,所以我们在为类起名称时应尽量选择名词。

   如果是某一种特殊类别的类,则可以统一采用特殊简短后缀来标识,这些后缀全部大写。例如,对所有处理与数据库相关的类,可以在类名后加上DAOImpl来标识

引用类: 全部置于包名之后,文件所定义类名之前

类的定义顺序:

class xxx

constructors

finalize

public member functions

protected member functions

private member functions

private fields

3. 接口

   接口名称遵循的大小写规则和类名称是一样的。用接口来提供一些关于实现它的类的额外信息,常用形容词作为接口名称(例如Runnable),当接口更像一个抽象的超类时,我们又用名词来作为接口的名称(例如Document

在创建类之前先创建公共接口,以确定类的应用存根,接口的命名用描述性的形容词或名词,或者加前缀或后缀Ifc

Runnable

Cloneable

Singleton

DataInput

4. 方法

   方法名称总是以小写字母开头。如果名称中包含的单词多于一个(一般使用动词和名词组合而成),那么除第一个单词外的所有单词都应该以大写字母开头,动词放在首单词,例如insert()、insertObject()。

成员变量访问方法accessor的命名:

使用Getter-getSetter-set方法,对于boolean类型的可以使用is代替get

Getter还有canhas

成员方法的范围:

范围

描述

正确使用方法

Public

任何类或对象的任何成员方法中可以调用

当该方法必须被当前类分支之外的类或对象调用时

Protected

只能被同类及所有子类的成员方法调用

当该方法只能被当前类及其分支之内的类或对象调用时

private

只能被同类的成员方法调用,子类的成员方法不能调用

封装一个类的特有方法,当前类所特有,其他类或子类没有

缺省的为软件包级可用,对相同软件包package的类可使用,不能在不同软件包的类中调用

5. 属性和常量

   非常量的属性名称所遵循的大小写规则和方法名称是一样的。如果一个属性是静态final类型的常量,那么该属性的所有字母都应该大写。如果常量的名称中包含多个单词,那么应该用下划线来分隔这些单词(例如MAX_VALUE)。此外,选择的属性名称应该是最能说明属性或其取值的含义的。

集合属性(Array, Vector)采用复数

firstName

orderItems

常量命名

static final MAX_VALUE

属性范围

范围

描述

用于

public

可以在所有类的方法中引用

最好不定义此类属性

protected

可以在本类及子类方法中引用

最好不定义此类属性

private

只能用于同类的方法中

所有属性都应是此种类型并通过访问器accessor访问

6. 参数

   方法参数名称会出现在方法的文档中,所以参数含义应尽可能明确。一般参数名称为一个单词。

成员函数的参数标准:

使用接口代替类作为参数,实现多态性

7. 局部变量

   命名规则和方法以及属性的命名规则一样。

2.2 注释规范

2.2.1总体说明

1. 三种类型的Java注释

注释类型

用于

例子

文档注释

写在类、接口、成员函数和属性的定义紧前方,由javadoc用于创建类的外部文档。

/**

 * document comments

 */

C风格注释

暂时注释不用的代码

/*

   comments

 */

单行注释

在成员函数中用于注释商业逻辑,代码段,变量定义

// comments

文档注释的主体部分一开始应该先用一句话概括类、接口、方法或属性完成的功能,书写时单独占一行。概括性句子的后面还可以跟若干条,详细介绍类、接口、方法或属性的注释语句及段落。

在描述性的段落之后,文档注释还可以包括其他一些段落,每个段落都以一个特殊的文档注释标签开始,例如@auther@param

2. doc注释的标签

@author 名称   后加上相应的作者

@version 文本  插入指定文本的版本信息

@param 参数-名称描述

@return 描述

@exception 完整的类名称 描述信息

@throws 完整的类名称 描述信息

@see 引用其他类,格式如下:@see 类名  

                           @see 完整类名

                           @see 完整类名#方法名

{@link引用}

@deprecated 解释

@since 版本号

@serial 描述信息

@serialField名称 类型 描述信息

@serialData描述信息

@beaninfo信息

文档注释的描述信息可以包括简单的HTML标注标签,不包括HTML的主要结构标签,例如<H2><HR>等。

在文档注释中使用标签{@link}来引用超级链接或者是交叉引用,避免用标签<A>

如果希望在文档注释中包括图像,可以把图像文件放在源代码目录下的doc文件的子目录中,然后把图像取名为和类一样的名称,并在名称之后加上数字作为后缀,例如,可以在叫做Circle类的文档注释中包括下面这个HTML标签,它定义了出现在注释中的第二张图片:<IMG src=”doc-files/Circles-2.gif”> 

2.2.2具体注释内容

1. 注释类

类功能说明:注释类的功能

@author 注释类的作者

@see  注释引用类的情况

@version 注释类的版本信息

2. 注释成员方法

l 头部注释

1. 功能描述:描述成员方法的功能及存在的原因(必填)

2. @param 参数及名称描述(必填)

3. @return 返回值(必填)

4. @exception 描述信息

5. @see 引用说明

6. @since 版本号

7. 存在问题:存在的尚未解决的问题

8. 使用范围:确定使用范围及原因

9. 外部变动:对其他对象的变动注释

10. 修改历史:注明修改时间、修改人、修改内容、修改原因(必填)

11. 调用方法:说明调用的前提条件和事后条件、说明并发调用情况

l 内部注释

1. 在方法内部的开始部分统一注释方法的逻辑

2. 控制结构,结构性语句的起始位置需要注明,控制结构的尾部

3. 注明局部变量

4. 注释结束括号}

2.3编写清晰的代码

1. 注释文档

2. 段落化

3. 多行语句段落化

4. 使用空格和空行

5. 方法不能太长,遵循30秒规则

6. 定义消息的传递,在注释中体现

7. 简短的命令行

8. 将比较的常数放在左方,以防止误写为赋值语句

三、 JAVA命名缩略词表

参见缩略词表。

目录
相关文章
|
29天前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
55 1
|
19天前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
47 24
|
1天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
33 2
|
16天前
|
Java 编译器 数据库
Java 中的注解(Annotations):代码中的 “元数据” 魔法
Java注解是代码中的“元数据”标签,不直接参与业务逻辑,但在编译或运行时提供重要信息。本文介绍了注解的基础语法、内置注解的应用场景,以及如何自定义注解和结合AOP技术实现方法执行日志记录,展示了注解在提升代码质量、简化开发流程和增强程序功能方面的强大作用。
51 5
|
16天前
|
存储 算法 Java
Java 内存管理与优化:掌控堆与栈,雕琢高效代码
Java内存管理与优化是提升程序性能的关键。掌握堆与栈的运作机制,学习如何有效管理内存资源,雕琢出更加高效的代码,是每个Java开发者必备的技能。
44 5
|
18天前
|
Java API 开发者
Java中的Lambda表达式:简洁代码的利器####
本文探讨了Java中Lambda表达式的概念、用途及其在简化代码和提高开发效率方面的显著作用。通过具体实例,展示了Lambda表达式如何在Java 8及更高版本中替代传统的匿名内部类,使代码更加简洁易读。文章还简要介绍了Lambda表达式的语法和常见用法,帮助开发者更好地理解和应用这一强大的工具。 ####
|
21天前
|
Java API Maven
商汤人像如何对接?Java代码如何写?
商汤人像如何对接?Java代码如何写?
32 5
|
1月前
|
XML 安全 Java
Java反射机制:解锁代码的无限可能
Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。 反射机制能够使程序具备更大的灵活性和扩展性
46 5
Java反射机制:解锁代码的无限可能
|
21天前
|
安全 IDE Java
Java常见规范及易忘点
遵循Java编程规范和注意易忘点是提高代码质量和可维护性的关键。通过规范的命名、格式、注释和合理的代码组织,可以让代码更加清晰和易于维护。同时,注意空指针检查、线程安全、集合框架和字符串操作等常见易忘点,可以减少程序错误,提高运行效率。结合单一职责原则、面向接口编程和合理的异常处理,能够编写出高质量的Java代码。希望本文能够帮助Java开发者提升编码水平,写出更高效、更可靠的代码。
23 2
|
22天前
|
Java
在Java中实现接口的具体代码示例
可以根据具体的需求,创建更多的类来实现这个接口,以满足不同形状的计算需求。希望这个示例对你理解在 Java 中如何实现接口有所帮助。
36 1