上周,我听说了一个关于如果-声明的现象。它有一个具体的名字,但我记不起来了。
问题在于,如果-其他结构,例如:
if( a!=null )
if( a.isTrue() )
a.performAction();
else
a.healCondition(); // second chance to do something所以问题来自于括号的缺失。如果我用括号来做外部的话就不会有问题了。没有括号,并不总是清楚“如果”的“其他”属于哪一个。
但我不想找到解决这个问题的办法。我很乐意知道这个模式是如何被称为。
谢谢你的帮忙
发布于 2015-07-25 08:46:37
这看起来像Java,但我所说的几乎适用于每一种“括号内”的语言。
当您不想使用括号时,您确实应该尽量不使用多行if语句。
在这种情况下,您可以使用而不是来编写:
if(a!=null) if(a.isTrue()) a.performAction(); else a.healCondition();它很难看,所以你把它分成几行。一旦你这样做了,你就应该加上括号。不是编译器(在本例中不需要编译器),而是其他程序员和您自己:
if(a!=null)
{
if(a.isTrue()) a.performAction();
else a.healCondidiont();
}或
if(a!=null)
{
if(a.isTrue())
{
a.performAction();
}
else
{
a.healCondidiont();
}
}https://stackoverflow.com/questions/31624621
复制相似问题