【问题标题】:Need help with formatting logical functions -- parentheses在格式化逻辑函数方面需要帮助——括号
【发布时间】:2011-03-02 10:58:58
【问题描述】:

我有一个 while 循环,它的条件是两个语句的结合,其中一个包含嵌套的 OR。我找不到任何标准方法来组织运算符周围的语句或使用括号。请记住,实际语句比 'a' 长,例如 'Math.Pow(double,exponent)*Math.Pow(Math.SQRT(double)),exponent)',否则第二个版本会很明显选择。关于编写此代码的正确方法的任何建议,以便其他程序员会发现它最容易阅读?

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

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

【问题讨论】:

  • 我不认为你会找到一个灵丹妙药的解决方案,让这个混乱容易阅读。您是否考虑过将逻辑重构为具有简单描述性名称的单独方法?

标签: c# parentheses


【解决方案1】:

将它们放入具有说话名称的方法中,并在您的 while 循环中使用这些方法。其他一切都无法维护!

【讨论】:

  • 任何方法都必须在实例化的类中声明——没有静态方法。
  • @this:所以不要使用静态方法。我不明白你为什么认为你不能添加实例方法。
猜你喜欢
  • 1970-01-01
  • 2013-12-14
  • 2015-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
相关资源
最近更新 更多