题
这:
public void foo() {
for (int i = 0; i < rows; i++) // <--- no brace!
for (j = 0; j < columns; j++) // <--- no brace!
table[i][j] = new Blabla(i, j);
other();
}
或这个:
public void foo() {
for (int i = 0; i < rows; i++) {
for (j = 0; j < columns; j++) {
table[i][j] = new Blabla(i ,j);
}
}
other();
}
解决方案
最好将牙套包括在内,否则有人可能会添加一条额外的线,以为它会在循环内部,但实际上它将在循环完成后仅运行一次。
public void foo() {
for (int i = 0; i < rows; i++)
for(j = 0; j < columns; j++)
table[i][j] = new Blabla(i, j);
count++; // <--- potential bug!
other();
}
其他提示
一个简单的事实是,添加括号会导致更少的错误。我认为,一旦正确格式化了片段,同样可以阅读。
这是一个品味问题。就我个人而言,我总是使用括号,因为我喜欢它,并且我被“添加另一个语句”咬伤,该语句最终在块外面,因为它没有被划定”。
我已经变得越来越宽大,因为我们现在有一项政策,每次保存所有SourceFiles(称为保存动作),因此凹痕始终是正确的,并且不欺骗您认为语句在块内部当他们在外面时。强烈推荐。
我总是会包含卷发,除非它在for(或任何其他陈述诸如if/while)的主体中仅一个陈述,并且您可以看到这是一种缩短的样式。如果您在情况下省略了卷发,您可以通过简单地在错误的位置添加一个方法来轻松地更改方法的行为,因为您认为它会降落在for的主体中。
第二个更可读性。
我可以处理单个语句中省略牙套,但是筑巢太多了。
您是指在括号之前的空间 for
环形?
我个人说那里没有空间,但这并不能使我在晚上保持清醒。最重要的是要保持一致。
对于非常简单的清晰代码,没有支撑。
如果有人来添加了错误的范围,不关注“超路代码”,也不用第二次查看新代码,那么我不会再让他触摸我的代码了。
不隶属于 StackOverflow