java 代码规范
来源:互联网 发布:小米任我行 知乎 编辑:程序博客网 时间:2024/05/16 07:30
1.缩进,软tab
2.避免超长的类和方法。
方法的代码行数不能超过100行(不包含注释),单个类的代码行数不能超过1500行。若方法行数超长时,应把其中独立的逻辑块抽取出来作为私有方法。若类的行数超长,应合理考虑重新组织类的结构分出多个类出来。
3.控制每行代码宽度。每行代码宽度不能超过80个字符(为考虑可阅读性,在不超过80个字符的行也应该考虑切行的情况)。
public int method1(...){
...
double totalLength = Math.sqrt(Math.pow(x, 2.0),
Math.pow(y,2.0));
...
}
关键字和(、)、{、}之间要加一个空格4. 双操作符,除"."操作符外,其余都需要在操作符前后跟空格。
5.各独立的逻辑块需要添加一空行分割。1.类或接口中的各成员都需要添加一个空行分割。
1.类与接口文件中的文件注释后面需要添加一空行分割。
6.名称不能过长,这里规定,名称的长度最长不能超过30个字符,建议在25个字符以内。7.含有全大写单词(缩写)的命名,我们按照头字母大写,后面字母全小写的规则处理。例如:loadXMLDocument-->loadXmlDocumnet
8.禁止使用拼音等一切非英文或者非英文单词用作命名
9.不要使用数字命名。在“2”代表“to”,“4”代表“for”的时候除外。
10.包命名请使用小写字母,尽量使用单个单词,同时尽量避免长名及非惯用缩写。
11.类的命名,非特殊情况,使用名词,且与文件名完全匹配,内部类除外。
12.接口使用名词或形容词。(若为名词,名称前面加大写I)。
public interface IActionListener {
public void actionPerformed(ActionEvent e);
}
public interface Runnable {
public void run();
}
public interface Accessible {
public Context getContext();
}
12.方法名首字母小写。接口、类名首字母大写。13.方法名称使用动词或动宾结构。
参数名称需与属性一致的情况
当构造函数或setter方法中的参数目的是为相关属性赋值时,参数名称要与属性名称一致。
例如:
class Dude {
//一直觉得写这个规范的人有深意,dude,哈哈
private String name;
public Dude(String name) {
this.name = name;
}
public setName(String name) {
this.name = name;
}
}
14.常量的所有字母使用大写字母,各单词之间使用下划线“_”隔开。15.if语句总是用"{"和"}"括起来,就算if语句下只有一条表达式。左花括号{不用另启一行。while、do-while、for同理。switch的各个case是要有空行的(break也要新行)。
16.文档注释一般使用范围是:
类、接口、接口方法、public、protected、package、私有成员变量都是用文档注释类型进行注释。
在类、接口定义之前当对其进行注释,包括类、接口的目的、作用、功能、示例程序等。 (类的功能描述往往容易疏漏,很多描述只有一个中文名字,然后就没有然后了...)
例如:
/**
* 字符串实用类
* 定义字符串操作时所需要用到的方法,如转换中文、HTML标记处理等。
* @author 罗伟彬
* @version v1.0.0
*/
public class StringUtil {
...
}
17.注释需要明确该方法功能、作用、各参数含义以及返回值等。参数注释时当注明其取值范围。返回值应当注释出失败、错误、异常时的返回情况(异常当注释出什么情况、什么时候、什么条件下会引发什么样的异常)。由于接口方法已经有完整的注释,因此实现类相关的实现方法不需要添加方法注释。(容易出现缺乏功能相关描述,只出现一个中文名字的问题)
/**
* 执行查询。
* 该方法调用Statement的executeQuery(sql)方法并返回ResultSet结果集。
* @param sql 标准的SQL语句
* @return ResultSet结果集,若查询失败则返回null
* @throws SQLException 当查询数据库时可能引发此异常
*/
public ResultSet executeQuery(String sql) throws SQLException
{
...
}
18.深层嵌套的注释
当出现超过三层或以上的嵌套,请在结束花括号好添加单行注释。
例如:
for (i...) {
for (j...) {
while (...) {
if (...) {
switch (...) {
...
} // end switch
} // end if
} // end while
} // end for j
} // end for i
19.尽量限制成员函数的可见性。如果成员函数没必要公有 (public),就定义为保护 (protected);没必要保护 (protected),就定义为私有 (private)。接口类中的方法默认是public,不需要添加修饰符。
20.异常。必须抛出 最明确,最有意义的异常(继承体系最底层的),例如文件不存在就抛出FileNotExistException。不允许直接抛出java.lang.Exception、RuntimeException。l 将一种异常转换成另一种异常时必须保留stack trace信息。
- 开发规范: JAVA代码规范
- java代码书写规范
- java开发代码规范
- JAVA代码编程规范
- Java代码编写规范
- Java代码规范
- Java代码规范
- Java代码注释规范
- java编程代码规范
- JAVA代码编写规范
- JAVA代码规范
- Java代码编写规范
- java代码规范
- java代码规范
- 【转帖】JAVA代码规范
- JAVA代码格式规范
- Java代码规范
- JAVA代码注释规范
- (转载)短篇武侠《情剑断魂》
- (SQL Server)DBCC
- linux分支结构(case)
- IOS上传图片的方法
- 计算机中KB与Kb的技术差别详解
- java 代码规范
- c++中的代理类和句柄类
- 解决X64操作系统PL/SQL连接报错问题 make sure you have the 32 bits oracle client installed
- explode()函数的几个应用
- 浅谈系统需求调研
- 硬盘主引导记录,分区引导记录(MBR,PBR)
- 技术文档网址
- 20130106应用评测
- 扇区http://www.360doc.com/content/12/1021/10/1317564_242731836.shtml