》关于代码中按条件返回布尔值怎样写更好这件事《

2021-12-04 15:00:50 +08:00
 wednesdayco

V2 的老哥们倾向哪种写法?

2545 次点击
所在节点    问与答
29 条回复
WilliamYang
2021-12-05 01:53:18 +08:00
可以看下《代码整洁之道》
binux
2021-12-05 02:02:56 +08:00
return item.approvalStatus==
STATUS.OK &&
!item.isEffective && !
moment(orderTime).isBetween(item.startTime, item.endTime)
hm20062006ok
2021-12-05 09:34:17 +08:00
写两个叹号是啥意思?
chairuosen
2021-12-05 11:54:41 +08:00
写代码给人看是第一要素,不建议 10 楼写法
rosu
2021-12-05 11:59:55 +08:00
一般第二种多点,不过关于你这个特例,其实可以更简洁:

noparking188
2021-12-05 12:13:26 +08:00
@rosu #25 #25 投一票哈哈,干脆进一步
private/public
item.isApproved
item.isVaildOrderTime

记得《重构》里有讲这个
rosu
2021-12-05 12:22:11 +08:00
@noparking188 理论上都可以收拢到 item 对象里的,约束和复用程度更好~
huijiewei
2021-12-05 12:57:15 +08:00
一句话

尽早返回
munan56
2021-12-05 13:40:57 +08:00
第二种啊

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

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

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

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

© 2021 V2EX