[英]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.