第一种
if(xxx){
return xxxx;
}else{
return xxxx;
}
第二种
xxx response;
if(xxx){
response = xxxx;
}
else{
response = xxxx;
}
return response
第一种
if(xxx){
return xxxx;
}else{
return xxxx;
}
第二种
xxx response;
if(xxx){
response = xxxx;
}
else{
response = xxxx;
}
return response
|
TWorldIsNButThisJul 15, 2022 via iPhone
1
我现在更喜欢三目或者 1
有对称的美感 |
|
zhlxshJul 15, 2022 via iPhone
2
我觉得没啥区别呀,习惯上的话第一种,少起一个变量名。
|
|
DonaidTrumpJul 15, 2022
3
第二种
|
|
v23xJul 15, 2022
4
混着用
看情况把 |
|
dem0nsJul 15, 2022
5
保险起见 if 里外都用 return
|
|
secsilmJul 15, 2022 via Android
6
按照早返回的话第一种,但是如果逻辑真的这么简单的话就看心情吧。逻辑复杂就最好第一种,对读代码的人有帮助。
|
|
7
var res = 0;
if(xxx){ res = 1; } return res; |
|
8
没有 else
|
|
9
第二种。
原因:你的代码不只是你在维护,其他人也会来维护。为了避免后人在中途各种 return ,制造各种 surprise ,破坏代码可读性,建议用第二种,建立规范,最后返回。 |
|
aptupdateJul 15, 2022 via iPhone
10
一般简单的用第一种,如果有稍微复杂的逻辑会用第二种。
|
|
IvanLi127Jul 15, 2022 via Android
11
if(xxx){
return xxxx; } return xxxx; } |
|
IvanLi127Jul 15, 2022 via Android
12
if(xxx){
return xxxx; } return xxxx; 我一般这种。 手机操作,前面不小心点到回复按钮发出去了。 |
|
csh1617487191Jul 15, 2022
13
if(xxx) return xxxx;
return xxxx; |
|
mxT52CRuqR6o5Jul 15, 2022 via Android
14
第一种,减少副作用逻辑降低心智负担
|
|
BuildingJul 15, 2022 via iPhone
15
二元的话比较喜欢 return a ? { return b }() : { return c }()
说的就是 go 这种二元表达式都不提供的语言 |
|
fkmcJul 15, 2022 via iPhone
16
第一种
|
|
dqzcwxbJul 15, 2022
17
简单的第一种,复杂或者需要扩展维护的第二种
|
|
tcpJul 15, 2022 via Android
18
复杂情况下,如果第 2 种 if else 之后还有运算,可能会出错,第 1 种及时 return ,避免后续潜伏 bug 。多个选择分支情况下尤其可能出问题。
|
|
myxingkongJul 15, 2022
19
能用三目的话用三目,不能的话看函数复杂度,不复杂 1 ,复杂 2 。
|
|
JoooooooooJul 15, 2022
20
第一种的尴尬之处是, return 的地方是死的, 一旦后续想改动很麻烦.
经验告诉我第二种更好. |
|
CabanaJul 16, 2022
21
喜欢这样🐶 return if(xxx) xxx else xxx
|
|
PMRJul 16, 2022 via Android
22
if(xxx){
aaa() }else{ bbb() } aaa() { return xxx; } bbb() { return xxx; } :doge: |
|
TankZZZJul 16, 2022 via iPhone
23
|
|
andyJadoJul 16, 2022
24
现在 cpu 都有分支预测, 第一种预测失败导致的回滚应该会更严重一些.
所以, 能用 guard 用 guard, 能 pattern match 就 match, 不写 if eles 之后代码读起来舒服多了.. https://gitpress.io/u/1799/hardware_zh |
|
FYFXJul 16, 2022
25
我一般优先第一种,不过在有 return 的情况下没必要写 else
|
|
26
|
|
chenyu8674Jul 16, 2022
27
return x ? y : z;
[doge] |
|
rockdddJul 16, 2022
28
想起来哪种用哪种
|
|
gongquanlinJul 16, 2022
29
if(xxx){
return xxx; } if(!xxx){ return yyy; } 习惯不用 else ,感觉 else 看起来别扭 最主要的原因还是见识过公司领导的超级无敌大 if...else...里面还嵌套着 n 个 if else ,相同功能代码在 if 和 else 里来回复制,实在是恶心够了,见着 else 就难受。除非特殊情况不会用。。 |
|
lslqtzJul 16, 2022
30
res = xxx;
if (a) { res = yyy; } return yes; |
|
ligiggyJul 16, 2022
31
第二种叫单出原则,受到很多老程序员的推崇,尤其是 c/c++,但是越来越多的书已经不强求第二种实现了,视具体情况而定。建议 OP 多看点代码优化的书。
多说一句,很多人都不推崇 goto ,或者类似的写法,我也不喜欢, 但是很多编程语言的源码里,有挺多 goto 的,所以,视具体情况而定吧。 |
|
ligiggyJul 16, 2022
32
另外,还有很多人喜欢
if() { } 不喜欢 if(){ } 你可以有喜欢的代码方式,但是成熟的开发者,都需要习惯两种写法。 |