1. 空白(White Space)
7.1 空行(Blank Lines)
空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用两个空行:
·一个源文件的两个片段(section)之间
·类声明和接口声明之间
下列情况应该总是使用一个空行:
·两个方法之间
·方法内的局部变量和方法的第一条语句之间
·块注释(参见"5.1.1")或单行注释(参见"5.1.2")之前
·一个方法内的两个逻辑段之间,用以提高可读性
7.2 空格(Blank Spaces)
下列情况应该使用空格:
一个紧跟着括号的关键字应该被空格分开,例如:
while (true) {
...
}
注意:空格不应该置于方法名与其左括号之间。这将有助于区分关键字和方法调用。
空格应该位于参数列表中逗号的后面
所有的二元运算符,除了".",应该使用空格将之与操作数分开。一元操作符和操作数之间不因该加空格,比如:负号("-")、自增("++")和自减("--")。例如:
a += c + d;
a = (a + b) / (c * d);
while (d++ = s++) {
n++;
}
printSize("size is " + foo + "\n");
for语句中的表达式应该被空格分开,例如:
for (expr1; expr2; expr3)
强制转型后应该跟一个空格,例如:
myMethod((byte) aNum, (Object) x);
myMethod((int) (cp + 5), ((int) (i + 3)) + 1);
2. 命名规范(Naming Conventions)
命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码。定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目开发过程中因更换人员而带来的损失。较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字符或者通用的缩写来实现单词的简化。
8.1 包(Packages)
一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names),如:com.itcenter.models
8.2 类(Classes)
命名规则:类名是个名词,采用大小写混合的方式,对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。尽量使你的类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML),如:public class WaterAnalysisView{}
8.3 接口(Interfaces)
命名规则:大小写规则与类名相似,如:public interface DeptLogin {}
8.4 方法(Method)
方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。如:run(),getBackground();
8.5 变量(Variable)
除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,且易于望名而生其意。尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i,j,k,m和n,它们一般用于整型;c,d,e,它们一般用于字符类型。
char c;
int i;
float myWidth;
8.6 实例变量(Instance Variables)
大小写规则和变量名相似,除了前面需要一个下划线
int _employeeId;
String _name;
Customer _customer;
8.7 变量定义规范
1) 去掉没必要的公共变量。
2) 构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。
3) 仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。
4) 明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。
5) 当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。
6) 防止局部变量与公共变量同名。
7) 仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起误用现象。
8) 结构的设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保留余地(如预留一些空间等)。
9) 留心具体语言及编译器处理不同数据类型的原则及有关细节。
10) 严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。
11) 编程时,要注意数据类型的强制转换。
8.8 常量(Constants)
类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开。(尽量避免ANSI常量,容易引起错误)
static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;
static final int GET_THE_CPU = 1;
分享到:
相关推荐
Java语言编码规范 1 介绍(INTRODUCTION) 3 1.1 为什么要有编码规范(WHY HAVE CODE CONVENTIONS) 3 1.2 版权声明(ACKNOWLEDGMENTS) 3 2 文件名(FILE NAMES) 4 2.1 文件后缀(FILE SUFFIXES) 4 2.2 常用文件名(COMMON ...
JAVA编程规范2012年本公司自编。 1.命名规范 4 1.1. 共通事項 4 1.2. 方法(函数)的命名 4 1.3. 字段与局部变量的命名 5 1.4. 命名实例 5 2.方法 6 2.1. JavaDoc注释方法 6 2.2. 起始注释的记述方法 7 2.3. 其它...
1.1 为什么要有编码规范 ? 1.2 版权声明 2 文件名 ? 2.1 文件后缀 ? 2.2 常用文件名 3 文件组织 ? 3.1 Java源文件 o 3.1.1 开头注释 o 3.1.2 包和引入语句 o 3.1.3 类和接口...
1 介绍(Introduction) 2 文件名(File Names) 3 文件组织(File ...9 命名规范(Naming Conventions) 10 编程惯例(Programming Practices) 11 代码范例(Code Examples) 花点时间看看这个,让你的代码更清晰可读。
Android内部开发规范,编码规范 目录 1 介绍 5 1.1 目的 5 1.2 术语和定义 5 2 文件组织 5 2.1 JAVA包和源文件 5 2.1.1 开头注释 5 2.1.2 包和引入语句 6 2.1.3 类和接口声明 6 3 缩进排版 7 3.1 行长度 7 3.2 括号 ...
关于Checkstyle,引用百度百科的介绍如下:CheckStyle是 SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重 要,但是枯燥的...
3.4 关于空白和空白字符 3.4.1 关于断行符 3.4.2 空白字符 3.5 基本html数据型式 3.5.1 cdata数据类型 3.5.2 id和name使用的数据类型 3.5.3 idref和idrefs使用的数据类型 3.5.4 number数据类型 3.5.5 文本字符串 ...
--这个name和teacher根元素中的name发生命名冲突--> <sex>girl</sex><!--这个sex和teacher根元素中的sex发生命名冲突--> 2、名域的声明 (1)直接定义 xmlns:名域前缀="名域的URI"(唯一性) 类比:名字...
取错误文本()”返回的文本是UTF-8编码(应是GB18030编码)。 -------------------------------------------------------------------------------- 易语言5.0 相对于易语言4.x更新说明(2010/02/01): 增加...