Java “什么是”呢;“语法上平行的元素”;在爪哇?
谷歌Java风格指南中有一条规则“”,其中规定: 通常,两个连续行使用相同的缩进级别,当且仅当它们以语法上平行的元素开头时Java “什么是”呢;“语法上平行的元素”;在爪哇?,java,checkstyle,Java,Checkstyle,谷歌Java风格指南中有一条规则“”,其中规定: 通常,两个连续行使用相同的缩进级别,当且仅当它们以语法上平行的元素开头时 有人能解释一下“语法上的平行元素”是什么意思,并提供一些例子吗?您引用的谷歌Java风格指南指的是所谓的延续缩进,即换行后使用的缩进。在本例中,语法上(可能)并行的元素是要包装的表达式 示例1(语法平行): 示例2(语法上不平行): 在示例2中,对foo2()的方法调用嵌套在对foo()的调用中,因此foo2()的参数与foo()的参数不在同一级别,换句话说,它们不是“语法
有人能解释一下“语法上的平行元素”是什么意思,并提供一些例子吗?您引用的谷歌Java风格指南指的是所谓的延续缩进,即换行后使用的缩进。在本例中,语法上(可能)并行的元素是要包装的表达式 示例1(语法平行): 示例2(语法上不平行): 在示例2中,对
foo2()
的方法调用嵌套在对foo()
的调用中,因此foo2()
的参数与foo()
的参数不在同一级别,换句话说,它们不是“语法上并行的”
在GoogleJava风格中,这意味着+“baz”)代码>零件可以缩进超过4个空格
话虽如此,我相信“句法平行”一词是该文件作者创造的;至少我没有在其他地方看到过它的大量使用。简而言之,这意味着如果将两个元素解析为同一个构造,那么它们将保持相同的缩进。比如说
String[] elements = new String[] { "bob",
"joe",
"pete" };
这是有意义的(即使它没有以这种方式格式化),因为它们都是同一数组定义中的String
元素
也在一个街区之内
{
System.out.println("hi");
actNow(input);
for (int i = 0; i < j; i++) {
return 5;
}
}
{
System.out.println(“hi”);
actNow(输入);
对于(int i=0;i
System.out.println(“hi”)代码>,actNow(输入)
和for循环的缩进相等,因为它们都是同一块中的语句。注意返回5代码>的缩进不相等,因为它是for循环块内的语句。因此返回5
在语法上与其他语句不同,因为它的块位置不同。第一个标记包含在同一组括号中,并且两个标记都紧跟在逗号或分号等分隔标记之后,或者不紧跟在分隔标记之后。我猜这意味着两个具有相同嵌套级别(或优先级)的东西在表达式/语句中。换句话说:相同语法调用级别的元素
。例:一个块中的所有语句(和块)都位于同一级别,即块的级别+1。
String[] elements = new String[] { "bob",
"joe",
"pete" };
{
System.out.println("hi");
actNow(input);
for (int i = 0; i < j; i++) {
return 5;
}
}