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

2018-07-12 10:39:58 +08:00
 yuann72

第一种

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

第二种

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

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

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

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

https://www.v2ex.com/t/470127

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

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

© 2021 V2EX