您的位置:首页 > 编程语言 > Java开发

My Java Coding Style

2016-06-16 19:29 453 查看

参考博客

1.文件名 源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为Xxx.java。

2.文件编码  UTF-8

3.空白字符  **使用Tab来缩进**

4.源代码的结构 1)License or Copyright information 2)Package  statement 3)Import statements 4)Class definition 用一个空白行来分割每一部分

4.1 package  语句不换行,占独立的一行

4.2 import   不要使用通配符 import java.util.*;

4.3 类中的成员顺序应该以某种逻辑去排序,不能总是把新的方法添加到类的末尾;重载的方法应该放在一起

5.大括号  Braces are used with if, else, for, do and while statements, even when the body is empty or contains only a single statement.

6.括号换行
1)左大括号前不换行
2)左大括号后换行
3)右大括号前换行
4)如果右大括号是一个语句、方法或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else,则不换行。
eg:
return new MyClass() {
@Override
public void method() {
if (condition()) {
try {
something();
} catch (ProblemException e) {
recover();
}
}
}
};

7.断开的位置
1) 如果在非赋值运算符处断开,那么就在该符号前断开,比如:+(位于下一行),.分割符,类型界限中的&(<T extends Foo & Bar>),catch块中的管道符号|(catch (FooException | BarException e)
2) 如果在赋值运算符处断开,通常的做法是在该符号后断开
3) 方法名和构造函数与左括号留在一行
4) 逗号(,)与前面的内容留在一行

8. 空白
1) 垂直空白:
- 类中构造函数,方法,内部类,静态初始块,实例初始块之间用一个空行来分割
2) 水平空白
1. 分割任何保留字与紧随其后的括号,如if (), for ()
2. 分割任何保留字与其前面的括号,如} else {, } catch {
3. 任何二元或三元运算符的两侧,要有空格,如<T extends Foo & Bar>, catch (FooException | BarException e),foreach语句中的分号

8. 数组可以写成块状结构
new int[] {
0, 1, 2, 3
}

new int[] {
0,
1,
2,
3
}

new int[] {
0, 1,
2, 3
}

9.修饰符的顺序 public protected private abstract static final transient volatile synchronized native strictfp

10.命名
1)包名:包名全部小写,连续的单词只是简单地连接起来,不使用下划线
2)类名:类名都以UpperCamelCase风格编写。
3)方法名:方法名都以lowerCamelCase风格编写。方法名通常是动词或动词短语。
4)常量名:常量名命名模式为CONSTANT_CASE,全部字母大写,用下划线分隔单词。
5)非常量名:非常量字段名以lowerCamelCase风格编写。这些名字通常是名词或名词短语。
eg:
首先一定 final static
// Constants
static final int NUMBER = 5;
static final ImmutableList<String> NAMES = ImmutableList.of("Ed", "Ann");
static final SomeMutableType[] EMPTY_ARRAY = {};
enum SomeEnum {ENUM_CONSTANT}

// Not constants
static String nonFinal = "non-final";
final String nonStatic = "non-static";
static final Set<String> mutableCollection = new HashSet<String>();
static final Logger logger = Logger.getLogger(MyClass.getName());
static final String[] nonEmptyArray = {"these", "can", "change"};

6)参数名:参数名以lowerCamelCase风格编写。
7)局部变量名:局部变量名以lowerCamelCase风格编写
8)驼峰命名:
Prose form                Correct
-------------------------------------------
"XML HTTP request"        XmlHttpRequest
"new customer ID"         newCustomerId
"inner stopwatch"         innerStopwatch
"supports IPv6 on iOS?"   supportsIpv6OnIos
"YouTube importer"        YoutubeImporter
-------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: