当长表达式用多行书写时,符号应放在行尾或下一行的第一行

  • 本文关键字:一行 表达式 书写 符号 expression
  • 更新时间 :
  • 英文 :


当表达式太长,无法放入显示区域或为了源代码整洁时,我们将多行编写长表达式。我试图检查相关的编程规则,但我找不到一些关于符号应该放在行尾或下一行第一的相关内容。

例如 C# 代码中的长 IF 表达式,

if (!double.TryParse(text4Hours.Text, out outputValue)||
        !double.TryParse(text4Hours.Text, out outputValue)||
        !double.TryParse(text10Hours.Text, out outputValue)){ }

if (!double.TryParse(text4Hours.Text, out outputValue)
        ||!double.TryParse(text4Hours.Text, out outputValue)
        ||!double.TryParse(text10Hours.Text, out outputValue)){ }

平行符号||可以放在行尾或下一行的第一行,任何规则规定我们必须遵循第一行或第二行?这样做有什么好处

另一个例子是

        answer = amount4Hours * double.Parse(text4Hours.Text) +
                amount8Hours * double.Parse(text8Hours.Text) - 
                    break45 * double.Parse(text8Hours.Text) +
                amount10Hours * double.Parse(text10Hours.Text) -
                    break45 * double.Parse(text10Hours.Text);

            answer = amount4Hours * double.Parse(text4Hours.Text) 
                    +amount8Hours * double.Parse(text8Hours.Text)  
                        -break45 * double.Parse(text8Hours.Text) 
                    +amount10Hours * double.Parse(text10Hours.Text) 
                        -break45 * double.Parse(text10Hours.Text);

我知道我们应该尽量避免有长表达式,但如果考虑到文本编辑器显示区域小或其他问题的原因,那么这个问题仍然会弹出。谢谢。

我相信

这个问题的任何答案都是基于意见的,但我也相信大多数人更喜欢第一种方法。想象一下:

if (expression1 &&
        expression243787 &&
        expression3 &&
        expression938533485934 &&
        expression7247)

现在想象一下,你在代码上发现了一个错误,并意识到逻辑错误在这个表达式中,所有&&&运算符都应该是||。这可能只是一种意见,但我确实认为,如果代码是这样的,修复它会容易得多:

if (expression1
        && expression243787
        && expression3
        && expression938533485934
        && expression7247)

这只是一个例子,说明了为什么我认为这种做法使代码重构更容易,除了其他好处,如可读性。

将符号放在下一行的开头将更容易显示符号。 如果在上一行的末尾,则符号序列更难遵循。

最新更新