1

我正在尝试实现这个逻辑,我只是​​想知道是否有更好的方法?

if(condition1) {
    do1();
}
else if(condition2) {//especially here that I have to check condition3 here and also in the last else if
    do2();
    if(condition3) {
        do3();
    }
}
else if(condition3) {
    do3();
}
4

4 回答 4

5

试试这个

if(condition1) 
{
   do1();
}
else
{
   if(condition2) 
   {
      do2();
   }
   if(condition3) 
   {
     do3();
   }
}
于 2013-09-23T09:19:11.083 回答
2
if(condition1) {
    do1();
}
else {
    if(condition2) {
        do2();
    }
    if(condition3) {
        do3();
    }
}
于 2013-09-23T09:18:44.200 回答
2

在您的逻辑中,我看不到您如何进行改进。也许另一种更清晰的编写方法是将condition2andcondition3放在同一个else块中,因为condition2andcondition3不是互斥的,就像它们与condition1:

if(condition1) {
    do1();
}
else {
    if(condition2) {
        do2();
    }
    if(condition3) {
        do3();
    }
}
于 2013-09-23T09:27:31.233 回答
2

当涉及到逻辑比较时,通常应用的最佳规则是使代码在条件方面尽可能易读。不要试图太聪明,让未来的读者想知道代码试图实现什么。

编写您的代码,使其易于理解,而不是最短的比较。

根据您的情况,您编写的解决方案可能是最容易理解的解决方案。如果是,你应该保持原样,而不是让它变得更复杂。

于 2013-09-23T09:28:36.747 回答