java 换行规范_《JAVA代码规范》(三)通用代码格式 - 缩进、行长度、换行、空行、空格(2.2-2.6)...

4个空格常被作为缩进排版的一个单位,以表示缩进,显示程序的层次级别,增加程序的可读性。不要在源代码中保留tab字符,这是因为tab字符会随着不同用户的不同设置和不同的资源管理工具(打印、文档、版本控制等)而代表不同的宽度。

尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理之。

注意:用于文档中的例子应该使用更短的行长,长度一般不超过70个字符。

当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:

?在一个逗号后面断开

?在一个操作符前面断开

?宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开

?新的一行应该与上一行同一级别表达式的开头处对齐

?如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进8个空格。

以下是断开方法调用的一些例子:someMethod(longExpression1, longExpression2, longExpression3,

longExpression4, longExpression5);

var = someMethod1(longExpression1,

someMethod2(longExpression2,

longExpression3));

以下是两个断开算术表达式的例子。前者更好,因为断开处位于括号表达式的外边,这是个较高级别的断开。longName1 = longName2 * (longName3 + longName4 - longName5)

+ 4 * longname6; //PREFFER

longName1 = longName2 * (longName3 + longName4

- longName5) + 4 * longname6; //AVOID

以下是两个缩进方法声明的例子。前者是常规情形。后者若使用常规的缩进方式将会使第二行和第三行移得很靠右,所以代之以缩进8个空格//CONVENTIONAL INDENTATION

someMethod(int anArg, Object anotherArg, String yetAnotherArg,

Object andStillAnother) {

...

}

//INDENT 8 SPACES TO AVOID VERY DEEP INDENTS

private static synchronized horkingLongMethodName(int anArg,

Object anotherArg, String yetAnotherArg,

Object andStillAnother) {

...

}

if语句的换行通常使用8个空格的规则,因为常规缩进(4个空格)会使语句体看起来比较费劲。比如://不要使用如下缩进

if ((condition1 && condition2)

|| (condition3 && condition4)

||!(condition5 && condition6)) { //不好的换行

doSomethingAboutIt(); //易使这行被忽视

}

//使用如下缩进

if ((condition1 && condition2)

|| (condition3 && condition4)

||!(condition5 && condition6)) {

doSomethingAboutIt();

}

//或者使用如下缩进

if ((condition1 && condition2) || (condition3 && condition4)

||!(condition5 && condition6)) {

doSomethingAboutIt();

}

这里有三种可行的方法用于处理三元运算表达式:

alpha = (aLongBooleanExpression) ? beta : gamma;

alpha = (aLongBooleanExpression) ? beta

: gamma;

alpha = (aLongBooleanExpression)

? beta

: gamma;

空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用两个空行:

?一个源文件的两个片段(section)之间

?类声明和接口声明之间

下列情况应该总是使用一个空行:

?两个方法之间

?方法内的局部变量和方法的第一条语句之间

?块注释或单行注释之前

?一个方法内的两个逻辑段之间,用以提高可读性

下列情况应该使用空格:

?一个紧跟着括号的关键字应该被空格分开,例如:

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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值