Java 语言编码规范(Java Code Conventions)

本文档详细介绍了Java编程的编码规范,包括文件命名、文件组织、缩进排版、注释规则、声明方式、语句结构以及空白处理等方面。强调了编码规范的重要性,如提高代码可读性和维护性,提供了具体的编程建议和示例,旨在帮助开发者遵循统一的代码风格。
摘要由CSDN通过智能技术生成

目录

 

1 介绍

•  1.1 为什么要有编码规范

•  1.2 版权声明

2 文件名

2.1 文件后缀

2.2 常用文件名

3 文件组织

3.1 Java源文件

3.1.1 开头注释

3.1.2 包和引入语句

 3.1.3 类和接口声明

4 缩进排版

4.1 行长度

4.2 换行

5 注释

5.1.1 块注释

5.1.2 单行注释

5.1.3 尾端注释

5.1.4 行末注释

 5.2 文挡注释

6 声明

6.1 每行声明变量的数量

6.2 初始化

6.3 布局

6.4 类和接口的声明

7 语句

7.1 简单语句

7.2 复合语句

7.3 返回语句

7.4 if,if-else,if else-if else语句

7.5 for语句

 7.6 while语句

7.7 do-while语句

7.8 switch语句

7.9 try-catch语句

8 空白

8.1 空行

8.2 空格

9 命名规范

10 编程惯例

10.1 提供对实例以及类变量的访问控制

10.2 引用类变量和类方法

10.3 常量

10.4 变量赋值

10.5 其它惯例

10.5.1 圆括号

10.5.2 返回值

10.5.3 条件运算符"?"前的表达式"?"前的表达式

10.5.4 特殊注释

11 代码范例11.1 Java源文件范例


1 介绍

•  1.1 为什么要有编码规范

编码规范对于程序员而言尤为重要,有以下几个原因:
- 一个软件的生命周期中,80%的花费在于维护
- 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护
- 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码
- 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品。为了执行规范,每个软件开发人员必须一致遵守编码规范。每个人。

•  1.2 版权声明

本文档反映的是 Sun MicroSystems 公司,Java 语言规范中的编码标准部分。主要贡献者包
括:Peter King,Patrick Naughton,Mike DeMoney,Jonni Kanerva,Kathy Walrath
以及 Scott Hommel。
     本文档现由 Scott Hommel 维护,有关评论意见请发至 shommel@eng.sun.com

2 文件名

  这部分列出了常用的文件名及其后缀。

2.1 文件后缀

Java 程序使用下列文件后缀:

2.2 常用文件名

常用的文件名包括:


3 文件组织

一个文件由被空行分割而成的段落以及标识每个段落的可选注释共同组成。超过 2000 行的程
序难以阅读,应该尽量避免。"Java 源文件范例"提供了一个布局合理的 Java 程序范例。


3.1 Java源文件

每个 Java 源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联,可以
将它们和公共类放入同一个源文件。公共类必须是这个文件中的第一个类或接口。
Java 源文件还遵循以下规则:
- 开头注释(参见"开头注释")
- 包和引入语句(参见"包和引入语句")
- 类和接口声明(参见"类和接口声明")


3.1.1 开头注释

所有的源文件都应该在开头有一个 C 语言风格的注释,其中列出类名、版本信息、日期和版权
声明:

/*
* Classname
*
* Version information
*
* Date
*
* Copyright notice
*/


3.1.2 包和引入语句

在多数 Java 源文件中,第一个非注释行是包语句。在它之后可以跟引入语句。例如:
package java.awt;
import java.awt.peer.CanvasPeer;


 3.1.3 类和接口声明

下表描述了类和接口声明的各个部分以及它们出现的先后次序。参见"Java源文件范例"中一个
包含注释的例子。

4 缩进排版

4 个空格常被作为缩进排版的一个单位。缩进的确切解释并未详细指定(空格 vs. 制表符)。一
个制表符等于 8 个空格(而非 4 个)。


4.1 行长度

尽量避免一行的长度超过 80 个字符,因为很多终端和工具不能很好处理之。
注意:用于文档中的例子应该使用更短的行长,长度一般不超过 70 个字符

4.2 换行

当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:
- 在一个逗号后面断开
- 在一个操作符前面断开
- 宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开
- 新的一行应该与上一行同一级别表达式的开头处对齐
- 如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进 8 个空格。
以下是断开方法调用的一些例子:

someMethod(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);
var = someMethod1(longExpression1,
someMethod2(longExpression2,
longExpression3));

以下是两个断开算术表达式的例子。前者更好,因为断开处位于括号表达式的外边,这是个较高
级别的断开。

longName1 = longName2 * (longName3 + longName4 - longName5)
+ 4 * longname6; //PREFFER
longName1 = longName2 * (longName3 + longName4
- longName5) + 4 * longname6;
//AVOID

以下是两个缩进方法声明的例子。前者是常规情形。后者若使用常规的缩进方式将会使第二行和
第三行移得很靠右,所以代之以缩进 8 个空格

//CONVENTIONAL INDENTATION
someMethod(int anArg, Object anotherArg, String yetAnotherArg,
Object andStillAnother) {
...
}
//INDENT 8 SPACES TO AVOID VERY DEEP INDENTS
private static synchronized horkingLongMethodName(int anArg,
Object anotherArg, String yetAnotherArg,
Object andStillAnother) {
...
}

if 语句的换行通常使用 8 个空格的规则,因为常规缩进(4 个空格)会使语句体看起来比较费劲。
比如:

//DON’T USE THIS INDENTATION
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) { //BAD WRAPS
doSomethingAboutIt(); //MAKE THIS LINE EASY TO MISS
}
//USE THIS INDENTATION INSTEAD
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) {
doSomethingAboutIt();
}
//OR USE THIS
if ((condition1 && condition2) || (condition3 && condition4)
||!(condition5 && condition6)) {
doSomethingAboutIt();
}

这里有三种可行的方法用于处理三元运算表达式:

alpha = (aLongBooleanExpression) ? beta : gamma;
alpha = (aLongBooleanExpression) ? beta
: gamma;
alpha = (aLongBooleanExpression)
? beta
: gamma;


5 注释

          Java 程序有两类注释:实现注释(implementation comments)和文档注释(docu

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值