加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

依靠Java的短路评估(编码风格)

发布时间:2020-12-14 16:43:17 所属栏目:Java 来源:网络整理
导读:在布尔评估中严重依赖短路是否有良好的编码风格? 我知道谁喜欢这样做. 例如,如果业务逻辑是“如果爱丽丝不饿,或者如果爱丽丝和鲍勃都饿了”,而不是写 // if Alice is not hungry or both alice and bob are hungryif (!A || A B)` 他会写 // if Alice is no
在布尔评估中严重依赖短路是否有良好的编码风格?

我知道谁喜欢这样做.
例如,如果业务逻辑是“如果爱丽丝不饿,或者如果爱丽丝和鲍勃都饿了”,而不是写

// if Alice is not hungry or both alice and bob are hungry
if (!A || A && B)`

他会写

// if Alice is not hungry OR both alice and bob are hungry
if (!A || B)

认为||是短路的,所以当且仅当第一个为假时(这意味着A = true),对右操作数进行评估.

(这个令人讨厌的事情是,乍一看,你会认为这是一个错误,但后来觉得你会看起来很愚蠢,如果你把它改为更明显的!)

解决方法

你肯定可以而且应该依赖于表达式的短路,但你给出的例子只是糟糕的编程.表达式的逻辑应该与评论和人类可读的测试逻辑相匹配.优化器完全理解布尔逻辑,并优化您的队友可能抱怨的任何明显的低效率.

最重要的是使开发人员的代码清晰易懂.编写聪明的代码来证明你是多么聪明,永远不是一个好习惯.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读