[英]How to line wrap a long boolean expression with parentheses in java
如何将此表达式包装在 java 中以提高可读性,同时约束条件是括号内的子表达式(shouldSendSomething(x) && loooongFunctionName1(x) && looooongFunctionName2(x))
太长而不能放在一行中?
!(loooongFunctionName0(x) && loooongFunctionName1(x) && looooongFunctionName2(x)) && looooongFunctionName3(x) && looooongFunctionName4(x) && looooongFunctionName5(x)
也许每个条件都在新行上?
if (!(loooongFunctionName0(x)
&& loooongFunctionName1(x)
&& looooongFunctionName2(x))
&& looooongFunctionName3(x)
&& looooongFunctionName4(x)
&& looooongFunctionName5(x)) {
}
后期编辑:如果条件太多,通常意味着某处存在设计问题,可能需要进行一些重构。
在这种情况下,我建议创建一些辅助方法。 将一些条件包装到一个方法中,这将简化if
条件。
function foo() {
return bar && baz && qux;
}
并在您的if
条件下使用它,例如:
if (foo()) { ... }
或者
if (!foo()) { ... }
我个人更喜欢将结果分配给一个有意义且简短(如果可能)的变量,然后在 if 子句中使用它
boolean name0 = loooongFunctionName0(x);
boolean name1 = loooongFunctionName1(x);
boolean name2 = loooongFunctionName2(x);
boolean name3 = loooongFunctionName3(x);
boolean name4 = loooongFunctionName4(x);
boolean name5 = loooongFunctionName5(x);
if (!(name1 && name2 && name3 && name4 && name5)) {
// something
}
根据 java 的编码标准,一行的最大字符数可以是 80。所以在这里你可以这样包装:
!(loooongFunctionName0(x)
&& loooongFunctionName1(x)
&& looooongFunctionName2(x))
&& looooongFunctionName3(x)
&& looooongFunctionName4(x)
&& looooongFunctionName5(x)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.