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