我使用的,如果没有在Java中的东西支撑条件像的Java一行if语句
if(somecondition)
//Only one line Business logic
但一些告诉总是使用大括号甚至一个行语句像这样
if(somecondition){
//Only one line Business logic
}
什么是更好的根据java标准的方式?
我使用的,如果没有在Java中的东西支撑条件像的Java一行if语句
if(somecondition)
//Only one line Business logic
但一些告诉总是使用大括号甚至一个行语句像这样
if(somecondition){
//Only one line Business logic
}
什么是更好的根据java标准的方式?
没有真正的“标准”。我始终喜欢使用大括号,因为如果你不,你的风险有人添加一个无辜的看着logging语句把你的代码
if(somecondition)
//Only one line Business logic
到
if(somecondition)
log.debug("condition was true");
//Only one line Business logic
,然后事情停止工作:-)
+1代码中断的例子。此外,像checkstyle这样的工具通常不允许裸if语句。 –
根据到java标准括号是更好的,因为如果他们不在那里编译器必须工作更多,也将是性能问题。
性能问题?你的意思是编译需要额外的时间吗? –
是的,因为如果没有大括号的话,编译器只能考虑语句中的一行 –
使用带括号的if语句是java标准的更好的方法,因为它增加了可读性并减少了不必要的错误。
这两个陈述有完全相同的效果,但我经常因缺乏大括号而遭受苦难,因此我总是会评论说,即使在1行陈述中也应该有大括号。这使得代码更容易维护,并且可以节省很多头痛的问题。我的经验表明,如果一行if语句经常在后面的迭代中变成多行语句,那么第一次不写两个{
会节省什么,您将在稍后提供。
没有裸体if语句。你只是在问问题。始终使用{}
在检查错误或更新代码时最好使用大括号。
想象。
if(answer.equals("add"))
addedValue += Scanner.readInt();
但是你有一个新的要求,只添加绝对值,所以你改变。
if(answer.equals("add2))
valueToBeAdded = Scanner.readInt();
if(valueToBeAdded < 0) valueToBeAdded = - valueToBeAdded;
addedValue += valueToBeAdded;
这不是一个真正正确的算法,只是一个可能发生的例子。
这是一个品味问题。我会使用大括号,否则不使用大括号,而是将所有代码写入一行以提高可读性。
你也可以考虑使用一个三元操作
booleanExpression ? value1 : value2
除了@radai回答,如果你是一个真正邪恶的头脑,当你看到一个,如果没有括号,你可以做一些事情,这将使你通过在行(或某物)的第800列的同一行上添加一个分号来加入敌人。
像
if(condition) /*a loooot of whitespace*/ ;
//Only one line Business logic that will get executed whatever is the condition
这就是为什么我更喜欢使用大括号,并建议人们使用它们
取决于..后者是对我 – sanbhat
它只是一个良好的编程习惯更易读。 – TheLostMind
我知道很多人死了,因为他们没有使用大括号。所以记得总是使用大括号。 – Maroun