【问题标题】:How can I implement this logic better我怎样才能更好地实现这个逻辑
【发布时间】:2013-09-28 03:15:21
【问题描述】:

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

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();
}

【问题讨论】:

  • 条件2和条件3是否互斥?
  • @Bathsheba 不,它们可以同时发生
  • 你能发布一些实际情况吗?
  • 在什么意义上更好?

标签: java if-statement conditional-statements


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    按照您的逻辑,我看不出您可以如何进行改进。也许另一种更清晰的编写方法是将condition2 和condition3 放在同一个else 块中,因为condition2 和condition3 并不相互排斥,就像它们与condition1 一样:

    if(condition1) {
        do1();
    }
    else {
        if(condition2) {
            do2();
        }
        if(condition3) {
            do3();
        }
    }
    

    【讨论】:

      【解决方案3】:

      试试这个

      if(condition1) 
      {
         do1();
      }
      else
      {
         if(condition2) 
         {
            do2();
         }
         if(condition3) 
         {
           do3();
         }
      }
      

      【讨论】:

        【解决方案4】:
        if(condition1) {
            do1();
        }
        else {
            if(condition2) {
                do2();
            }
            if(condition3) {
                do3();
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2011-01-26
          • 2014-01-12
          • 2019-11-10
          • 1970-01-01
          • 1970-01-01
          • 2021-10-01
          • 2020-02-07
          • 1970-01-01
          • 2013-08-29
          相关资源
          最近更新 更多