对于排版的规范,可能大家很多都知道用ctrl+shift+f一键格式化,那么这个一键格式化遵循了什么样的规则呢?当然很多公司也有自己的一个formatting.xml 格式化规范文件。今天我们就来具体了解下这个一键格式化到底包括哪些内容。
- 程序块要采用缩进风格编写,缩进1个TAB键。
- 较长的语句、表达式或参数(>120字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
示例:
if (filename != null
&& new File(logPath + filename).length() < LogConfig.getFileSize())
{
... // program code
}
public static LogIterator read(String logType, Date startTime, Date endTime,
int logLevel, String userName, int bufferNum)
- 不允许把多个短语句写在一行中,即一行只写一条语句
示例:如下例子不符合规范。
LogFilename now = null; LogFilename that = null;
应如下书写:
LogFilename now = null;
LogFilename that = null;
- if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。
示例:如下例子不符合规范。
if(writeToFile) writeFileThread.interrupt();
应如下书写:
if(writeToFile)
{
writeFileThread.interrupt();
}
- 相对独立的程序块之间、变量说明之后必须加空行。
示例:如下例子不符合规范。
if(log.getLevel() < LogConfig.getRecordLevel())
{
return;
}
LogWriter writer;
应如下书写:
if(log.getLevel() < LogConfig.getRecordLevel())
{
return;
}
//空一行
LogWriter writer;
int index;
- 对齐只使用TAB键,不使用空格键。
- 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格。
说明:采用这种松散方式编写代码的目的是使代码更加清晰。
示例:
(1)逗号、分号只在后面加空格。
int a, b, c;
(2)比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格。
if (current_time >= MAX_TIME_VALUE)
a = b + c;
a *= 2;
a = b ^ 2;
(3)"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。
flag =! isEmpty; // 非操作"!"与内容之间
i++; // "++","--"与内容之间
(4)"."前后不加空格。
p.id = pid; // "."前后不加空格
(5)if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。
if (a >= b && c > d)
- 类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置。
格式:
类定义
{
类的公有属性定义
类的保护属性定义
类的私有属性定义
类的公有方法定义
类的保护方法定义
类的私有方法定义
}
最后
以上规范并不完整,欢迎大家补充。