JAVA代码编写规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

J AVA代码规范
拟制:
批准:
版本:
2016年 3月1日发布 2016年3月2日实施
目录
J A V A代码规范 .......................................................................................................................... - 1 - 版本: ......................................................................................................................................................... - 1 - 2011年 7月1日发布 2011年7月5日实施 ........................................................... - 1 - 目录 (2)
1引言 (4)
1.1编写目的 (4)
1.2术语 (4)
1.3参考资料 (4)
2文件名 (4)
2.1文件后缀 (4)
2.2常用文件名 (4)
3文件组织 (5)
3.1J AVA源文件 (5)
3.2开头注释 (6)
3.3导入类 (6)
3.4类和接口声明 (7)
4程序的版式 (7)
4.1空行 (7)
4.2空格 (7)
4.3代码缩进 (7)
4.4换行 (8)
5注释 (8)
5.1块注释 (8)
5.2单行注释 (8)
5.3尾端注释 (8)
5.4多行注释 (9)
6声明 (9)
6.1每行声明变量的数量 (9)
6.2初始化 (10)
6.3布局 (10)
6.4类和接口的声明 (10)
7语句 (11)
8命名规范 (12)
1.1基本命名规则 (12)
1.2成员函数命名 (12)
1.3字段属性命名 (12)
1.4成员函数参数命名 (13)
1.5类、接口命名 (13)
1.6包命名 (13)
9编程惯例 (13)
1引言
1.1编写目的
本规范旨在统一Java软件开发人员的代码编写规范,为软件开发人员形成良好的编程风格,增加程序的可读性、正确性、健壮性,降低算法复杂度,提高程序的可复用性提供了一定的指导性。

1.2术语
1.3参考资料
2文件名
2.1文件后缀
[规则2-1-1]Java文件后缀
[规则2-1-2]配置文件后缀
2.2常用文件名
[规则2-2-1]常用的文件名包括:
3文件组织
3.1Java源文件
[规则3-1]Java源文件有以下的顺序:
(1)文件创建时间
(2)文件开头注解
(3)声明package 的语句和载入(import)语句
(4)类和interface的声明
说明:每一个Java源码文件都包括一个唯一的public 类或interface。

当私有的类和interface 都和这个public 类有关联时,你可以把它们放到这个public 类的源文件中。

这个public 类或interface 应当是这个文件的第一个类或interface 。

3.2开头注释
[规则3-2]所有的源文件都应该在开头有一个C语言风格的注释,其中列出类名、版本信息、日期和版权声明:(具体可参考C++代码规范)。

3.3导入类
[规则3-3]在多数Java源文件中,第一个非注释行是包语句。

在它之后可以跟引入语句。

[规则3-4]对每个使用的类都分别导入。

说明:为了使用其它类提供的方法,在使用之前应该将它们导入。

我们一般在包(Package)声明之后导入需要使用的类。

为了方便导入多个位于相同包中的类,Java语法支持“*”通配符,但是为了避免类冲突,建议对每个使用的类都分别导入,而不使用“*”通配符。

[规则3-5]禁止导入未引用的类。

3.4类和接口声明
下表描述了类和接口声明的各个部分以及它们出现的先后次序
[规则3-1]下表描述了类和接口声明的各个部分以及它们出现的先后次序。

4程序的版式
4.1空行
[规则4-1-1]属性之间必须使用空行
[规则4-1-2]两个方法之间需使用一个空行。

4.2空格
项目代码中空格整体风格保持一致。

4.3代码缩进
[规则4-3-1]不同的逻辑块一般缩进4个字符(一次tab),而在同级的逻辑块不缩进。

4.4换行
[规则4-5-1]在一个逗号后面断开。

[规则4-5-2]在一个操作符前面断开。

5注释
5.1块注释
说明:块注释通常用于提供对文件,方法,数据结构和算法的描述。

块注释被置于每个文件的开始处以及每个方法之前。

它们也可以被用于其他地方,比如方法内部。

在功能和方法内部的块注释应该和它们所描述的代码具有一样的缩进格式。

[规则5-1]块注释之首应该有一个空行,用于把块注释和代码分割开来。

5.2单行注释
[规则5-2]短注释可以显示在一行内,并与其后的代码具有一样的缩进层级。

5.3尾端注释
[规则5-3]极短的注释可以与它们所要描述的代码位于同一行,但是应该有足够的空白来分
开代码和注释。

[规则5-4]若有多个短注释出现于大段代码中,它们应该具有相同的缩进。

5.4多行注释
[规则5-5]使用”/*”来注释连续的多行代码,原则上不允许使用多个”//”来注释多行代码。

6声明
6.1每行声明变量的数量
[规则6-1]推荐一行一个声明,因为这样以利于写注释。

[规则6-2]不要将不同类型变量的声明放在同一行。

6.2初始化
[规则6-3]尽量在声明局部变量的同时初始化。

唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算。

6.3布局
[规则6-4]尽量在代码块的开始处声明变量。

说明:(一个块是指任何被包含在大括号"{"和"}"中间的代码。

)不要在首次用到该变量时才声明之。

这会把注意力不集中的程序员搞糊涂,同时会妨碍代码在该作用域内的可移植性。

[规则6-5]避免声明的局部变量覆盖上一级声明的变量。

6.4类和接口的声明
当编写类和接口是,应该遵守以下格式规则:
[规则6-6]左大括号"{"位于声明语句同行的末尾。

[规则6-7]右大括号"}"另起一行,与相应的声明语句对齐,除非是一个空语句,"}"应紧跟在"{"之后。

[规则6-8]方法与方法之间以空行分隔。

7语句
[规则7-1]每行至多包含一条语句。

[规则7-2]被括其中的语句应该较之复合语句缩进一个层次。

说明:复合语句是包含在大括号中的语句序列,形如"{ 语句 }"。

[规则7-3]左大括号"{"应位于复合语句起始行的行尾;右大括号"}"应另起一行并与复合语句首行对齐。

[规则7-4]大括号可以被用于所有语句,包括单个语句,只要这些语句是诸如if-else或for控制结构的一部分。

这样便于添加语句而无需担心由于忘了加括号而引入bug。

[规则7-5]一个带返回值的return语句不使用小括号"()",除非它们以某种方式使返回值更为显见。

[规则7-6]if语句总是用"{"和"}"括起来。

[规则7-7]当在for语句的初始化或更新子句中使用逗号时,避免因使用三个以上变量,而导致复杂度提高。

若需要,可以在for循环之前(为初始化子句)或for循环末尾(为更新子句)使用单独的语句。

[规则7-8]每当一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释。

8命名规范
1.1基本命名规则
[规则8-1-1]使用可以准确说明变量/字段/类的完整的英文描述符,可以使用汉语拼音。

[规则8-1-2]采用该领域的术语。

[规则8-1-3]采用大小写混合,提高名字的可读性。

[规则8-1-4]尽量少用缩写,但如果一定要使用,就要谨慎地使用。

[规则8-1-5]避免使用长名字(最好不超过15 个字母)。

[规则8-1-6]避免使用相似或者仅在大小写上有区别的名字。

1.2成员函数命名
[规则8-2-1]成员函数的命名应采用完整的英文描述符,大小写混合使用,所有中间单词的第一个字母大写。

[规则8-2-2]对于存取函数中的获取函数,如果获取的字段的类型是boolean型,则采用is作为前缀,否则采用get作为前缀,如getUserName,isMale。

[规则8-2-3]对于存取函数中的设置函数,统一采用set作为前缀,如setUserID。

1.3字段属性命名
[规则8-3-1]命名时应采用完整的英文描述符来命名字段,对于不能用英文描述的字段可以使用汉语拼音命名。

[规则8-3-2]如果该字段从数据库中得来,最好直接采用数据库的字段名,但注意格式转换。

[规则8-3-3]首字母小写,以后每个单词大写。

常用组件命名方法:
[规则8-3-4]参数的名字必须和变量的命名规范一致。

[规则8-3-5]静态变量的英文单词全部大写,需要指出完整含义,并且每个单词之间用下划
线隔开。

[规则8-3-6]局部变量使用和类变量(字段属性)不同的名称。

1.4成员函数参数命名
[规则8-4-1]成员函数的参数命名原则基本和字段属性的命名原则相同。

使用有意义的参
数命名,如果可能的话,使用和要赋值的字段一样的名字。

1.5类、接口命名
[规则8-5-1]采用英文描述,首字母大写。

对于抽象类,采用Abstract前缀,如AbstractPainter;
对于接口使用前缀“I”,如IPaint。

[规则8-5-2]一般情况下,接口的命名采用“I+动词”的形式,抽象类命名采用“Abstract+
名词”的形式。

1.6包命名
[规则8-6-1]包命名采用如下形式:com.xxx+ 项目组名称+其他
9编程惯例
[规则10-1]在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题。

[规则10-2]如果一个包含二元运算符的表达式出现在三元运算符" ? : "的"?"之前,
那么应该给表达式添上一对圆括号。

相关文档
最新文档