boolean foo() {
boolean rseultA = funca();
boolean resultB = funcB();
boolean resultC = funcC();
return !rseultA && !resultB && !resultC;
}
最后的 return 有更好的做法吗
1
ChoateYao Feb 26, 2019
return !(funca() || funcb() || funcc())
|
2
cxl008 Feb 26, 2019
8421 ... 4 个值 你还可以再加一个返回。。用一个 byte
|
3
wleexi OP |
4
EscYezi Feb 26, 2019 via iPhone
一楼正解
|
5
wutiantong Feb 26, 2019
果然前几天那个《代码 if 嵌套过多,怎么优化比较好》也是你问的。看得我真是莫名其妙啊。
|
6
wleexi OP @wutiantong 是我问的。最近学习中 很多疑问还望大佬多指点
|
7
TimFire Feb 26, 2019
我有强迫症。。。rseultA....
|
8
CodeCore Feb 26, 2019 就这样挺好的. 简单易懂. 不要搞那么复杂难懂.
|
9
mrgeneral Feb 26, 2019
reduce 就好了
|
11
wutiantong Feb 26, 2019
@wleexi 可能是我太菜,我看不懂你想问什么,比如说,原来的做法哪里不好呢?
|
12
hitmanx Feb 26, 2019
|
14
liuxingbaoyu Feb 26, 2019
我都是
bool a=func1(); a=a&&func2(); a=a&&func3(); |
15
liuxingbaoyu Feb 26, 2019
|
16
frienmo Feb 26, 2019
写 Java,就写得简单点,易读最重要,毕竟是工业化产品,会有很多比你水平低的人接手代码的。
|
17
GuuJiang Feb 26, 2019
能否接受短路,如果能接受的话就很简单
``` boolean foo() { if (funcA()) { return false; } if (funcB()) { return false; } if (funcC()) { return false; } return true; } ``` |
18
wleexi OP @wutiantong 恩你说的是。我现在说不好也就是我感觉上不太好,但是具体哪里欠妥你让我说个一二三我未必说的出来。刚开始重视代码风格这块东西,自己的能力和书上的概念不一定能很好的契合吧,感谢你
|
19
bakabie Feb 26, 2019 1l 正解,不过有时候并不需要过于纠结 if 多少的问题,有时候 if 虽然多点,但是还是能直观表达代码的。。
|
20
lululau Feb 26, 2019 via iPhone return all_falsy(resultA, resultB, ...)
|