代码格式
基本要求
/**
* 数组
*/
int[] array = new int[2];
int[] array = {1, 2};
public void test(int[] array) {}
/**
* 泛型使用菱形语法,或全省略语法
*/
ArrayList<Integer> arrayList = new ArrayList<>();
ArrayList<Integer> arrayList = new ArrayList();
/**
* 长整型赋值数字后使用大些L
*/
long number = 1L;
注释格式
注释原则
- Nothing is strange:没有什么奇怪的,注释一定要写,不仅要解释逻辑,更要说清楚修改,比如:注释掉的代码,为什么要注释掉
- Less is more:少即是多,对于逻辑简单、命名规范、能清楚表达功能的代码无需注解
- Advance with the time:与时俱进,注释应该随代码变动而改变
包注释
包注释在包的根目录下名为package-info.java
,该Java文件仅用来描述该包
/**
* 包的描述
* @author nobility
* @date 下午4:42 2021/7/14
*/
package com.公司名.项目名.模块名;
类注释
/**
* 类的描述
* @author nobility
* @date 下午4:47 2021/7/14
* @version 1.0
*/
public class Main{}
属性注解
/**
* 属性的描述
*/
private String property;
/**
* 枚举项的描述
*/
STATUS(1, "启用"),
方法注释
在每个方法前面必须加上方法注释,对于方法中的每个参数,以及返回值都要有说明。
/**
* 方法的描述
* @author nobility
* @param 参数名1 参数描述
* @return 返回类型 返回结果情况描述,若是构造方法无需这条
* @exception 异常类型 抛出异常情况描述
*/
public static void main(String[] args) throws Exception {}
/**
* {@inheritDoc} // 继承实现方法的注释
*/
@Override
public void test() {}
单行注释
单行注释双斜线和内容之间有空格,且应该在解释代码的上方
// 注释
int a;
代码缩紧
括号问题
/**
* if/for/while/switch/do等保留字与小括号之间必须有空格
* 不能与括号边界出现缝隙
*/
if (true) {
return 1;
}
// 以及else要和大括号之间必须有空格
if (true) {
return 1;
} else {
return 0;
}
/**
* 强制类型转换括号不能加空格
*/
int number = (int)1.0;
空格缩进
- 换行符使用Unix格式,缩进采用4个空格而且禁止使用tab
- 单行字符不能超过120个,超过需要换行(括号前不能换行)
- 换行后的所有行应该相对第一行缩进四个空格
- 运算符、方法调用的点应该在下一行
- 方法调用中的多个参数逗号在上一行
- 单个方法总行数不能超过80行,不同逻辑、语意、业务之间应该插入一个空行
/**
* 二目、三目运算符左右需有空格,单目运算符不能有空格
*/
int max = a > b ? 1 :2;
if (!true) {
return;
}
/**
* 方法参数在定义和调用时都逗号后加空格
*/
public void test(int one, int two) {
test(1, 2);
}
Comments NOTHING