函数返回布尔值, 你们倾向于返回判断表达式还是加个 if 判断?

2018 年 7 月 12 日
 yuann72

第一种

retrun 1 == 1 && 2 == 2 && 3 == 3 && 
	123456 == 123456;

第二种

if (1 == 1 && 2 == 2 && 3 == 3 && 
	123456 == 123456) {
	return true;
} else {
	return false;
}

我感觉第一种可读性会差些, 特别是这个判断表达式很长的时候
第二种又有些多余 不够简洁 你们怎么选?

2125 次点击
所在节点    问与答
7 条回复
xbigfat
2018 年 7 月 12 日
我对于比较复杂的判断,会使用第二种,并加以注释说明判断条件;
很简单的问题比如 isMale 直接返回就可以了。
yuann72
2018 年 7 月 12 日
@xbigfat 那跟我平时差不多
TuringGooner
2018 年 7 月 12 日
看复杂程度吧,你这个例子我一般会写成第二种
prolic
2018 年 7 月 12 日
这么长的我倾向于拆成 1 != 1 return false,2 != 2 return false .... return true,只有一个&&的情况我会用第一种
shenjo
2018 年 7 月 12 日
针对这个例子,我个人比较倾向 把这句话封装成函数,取个有意义的名字 return isTrue(),根据函数名就大致知道这是在干嘛,想看具体实现在去看。
Justin13
2018 年 7 月 12 日
@shenjo
赞同
May725
2018 年 7 月 12 日
赞成 4 楼 ,如果条件多的情况下,分别独立出来判断更清晰些

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

https://v2ex.xtra.eu.org/t/470127

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

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

© 2021 V2EX