2011-03-02 60 views
1

我有一個while循環,其條件是兩個語句的聯合,其中一個語句包含嵌套的OR。我無法找到任何組織圍繞運營商的陳述或使用括號的標準方法。請記住,實際的語句比'a'長,例如'Math.Pow(double,exponent)* Math.Pow(Math.SQRT(double)),指數)',否則第二個版本將是明顯的選擇。任何建議,以正確的方式寫這個,所以另一個程序員會發現它最容易閱讀?需要格式化邏輯函數的幫助 - 括號

while 
         (
          (
           (a > b) 
           || 
           (
            (
             (a > d) 
             || 
             (
              (p < q) 
              || 
              (r < s) 
             ) 
            ) 
           ) 
          ) 
          && t < y 
         ) 
          { 
           g = g + 0.25; 
          } 

OR

while (((a > b) || (((a > d) || ((p < q) || (r < s))))) && t < y) 
     { 
      g = g + 0.25; 
     } 
+1

我不認爲你會找到一個神奇的子彈解決方案,使這個混亂*容易*閱讀。你有沒有考慮用簡單的描述性名稱將邏輯重構爲單獨的方法? – 2011-03-02 11:03:29

回答

0

將它放到方法與說話的名稱和使用while循環的方法。其他一切都是不可維護的!

+0

任何方法都必須在實例化的類中聲明 - 沒有靜態方法。 – 2011-03-02 13:19:42

+0

@this:所以不要使用靜態方法。我不明白你爲什麼認爲你不能添加實例方法。 – 2011-03-03 04:44:16