
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 就这样挺好的. 简单易懂. 不要搞那么复杂难懂. |
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 1l 正解,不过有时候并不需要过于纠结 if 多少的问题,有时候 if 虽然多点,但是还是能直观表达代码的。。 |
20 lululau 2019-02-26 20:42:17 +08:00 via iPhone return all_falsy(resultA, resultB, ...) |