依靠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),对右操作数进行评估. (这个令人讨厌的事情是,乍一看,你会认为这是一个错误,但后来觉得你会看起来很愚蠢,如果你把它改为更明显的!) 解决方法
你肯定可以而且应该依赖于表达式的短路,但你给出的例子只是糟糕的编程.表达式的逻辑应该与评论和人类可读的测试逻辑相匹配.优化器完全理解布尔逻辑,并优化您的队友可能抱怨的任何明显的低效率.
最重要的是使开发人员的代码清晰易懂.编写聪明的代码来证明你是多么聪明,永远不是一个好习惯. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |