kof*_*cii 11 language-agnostic debugging if-statement
我被告知,使用"if"语句是首选,因为代码更难调试,当使用"else if"时?这句话中有一点真相吗?
Chr*_*l52 51
我从来没有调试'else if'语句的问题.我认为使用'else if'语句是干净的,并且它与程序员通信,读取代码,'else if'语句组是互斥的.
Kei*_*thS 12
if(...)
{
}
else if(...)
{
}
Run Code Online (Sandbox Code Playgroud)
完全等同于:
if(...)
{
}
else
if(...)
{
}
Run Code Online (Sandbox Code Playgroud)
以同样的方式:
if(...)
foo();
else
bar();
Run Code Online (Sandbox Code Playgroud)
完全等同于:
if(...) foo();
else bar();
Run Code Online (Sandbox Code Playgroud)
它是100%的风格,无论一个是否比另一个更具有可读性,都是基于您的编程文化,语言和陈述的复杂程度的总判断.
小智 8
也许你的老板只是意味着提前退货.
我不经常需要if / else.但这并不是因为else错了,而是因为我喜欢早期的回报,如果你使用早期的回报,你就不需要那么多.
所以而不是:
boolean validate(DomainObject o) {
boolean valid = false;
if (o.property == x) {
valid = true;
} else if (o.property2 == y) {
valid = true;
} ...
return valid;
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢输入:
boolean validate(DomainObject o) {
if (o.property == x)
return true;
if (o.property2 == y)
return true;
return false;
}
Run Code Online (Sandbox Code Playgroud)