你们喜欢以下那种 return 方式

2022 年 7 月 15 日
 OOLAOO

第一种

if(xxx){
  return xxxx;
}else{
  return xxxx;
}

第二种

 xxx response;
if(xxx){
	response = xxxx;
}
else{
	response = xxxx;
}
return response
3747 次点击
所在节点    问与答
33 条回复
TWorldIsNButThis
2022 年 7 月 15 日
我现在更喜欢三目或者 1
有对称的美感
zhlxsh
2022 年 7 月 15 日
我觉得没啥区别呀,习惯上的话第一种,少起一个变量名。
DonaidTrump
2022 年 7 月 15 日
第二种
v23x
2022 年 7 月 15 日
混着用

看情况把
dem0ns
2022 年 7 月 15 日
保险起见 if 里外都用 return
secsilm
2022 年 7 月 15 日
按照早返回的话第一种,但是如果逻辑真的这么简单的话就看心情吧。逻辑复杂就最好第一种,对读代码的人有帮助。
netnr
2022 年 7 月 15 日
var res = 0;
if(xxx){
res = 1;
}
return res;
golangLover
2022 年 7 月 15 日
没有 else
jtacm
2022 年 7 月 15 日
第二种。
原因:你的代码不只是你在维护,其他人也会来维护。为了避免后人在中途各种 return ,制造各种 surprise ,破坏代码可读性,建议用第二种,建立规范,最后返回。
aptupdate
2022 年 7 月 15 日
一般简单的用第一种,如果有稍微复杂的逻辑会用第二种。
IvanLi127
2022 年 7 月 15 日
if(xxx){
return xxxx;
}
return xxxx;
}
IvanLi127
2022 年 7 月 15 日
if(xxx){
return xxxx;
}
return xxxx;


我一般这种。
手机操作,前面不小心点到回复按钮发出去了。
csh1617487191
2022 年 7 月 15 日
if(xxx) return xxxx;
return xxxx;
mxT52CRuqR6o5
2022 年 7 月 15 日
第一种,减少副作用逻辑降低心智负担
Building
2022 年 7 月 15 日
二元的话比较喜欢 return a ? { return b }() : { return c }()
说的就是 go 这种二元表达式都不提供的语言
fkmc
2022 年 7 月 15 日
第一种
dqzcwxb
2022 年 7 月 15 日
简单的第一种,复杂或者需要扩展维护的第二种
tcp
2022 年 7 月 15 日
复杂情况下,如果第 2 种 if else 之后还有运算,可能会出错,第 1 种及时 return ,避免后续潜伏 bug 。多个选择分支情况下尤其可能出问题。
myxingkong
2022 年 7 月 15 日
能用三目的话用三目,不能的话看函数复杂度,不复杂 1 ,复杂 2 。
Jooooooooo
2022 年 7 月 15 日
第一种的尴尬之处是, return 的地方是死的, 一旦后续想改动很麻烦.

经验告诉我第二种更好.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/866495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX