两种if语句写法哪种更易读

发布于 2022-09-01 19:18:15 字数 452 浏览 12 评论 0

第一种:
if (!statement1 || statement2 || ...)

第二种:
if (!(statement1 && !statement2 && ...))

解释:有若干个条件,要求每个条件要么为真要么为假(废话),而且这些条件之间是或的关系。

举例,下面两种写法哪种更容易理解:

if (!str.isEmpty() || a > 0 || a < b)
VS
if (!(str.isEmpty() && a <= 0 && a >= b))

注意:不要说分成多个if来写,我知道分开写更清晰。我只是想知道如果写在一条语句中的话哪种更容易理解。谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

好菇凉咱不稀罕他 2022-09-08 19:18:15

都一样。

容易理解与否和开发人员的主观思维有关。
不过第一种要短些,看起来更简洁。也更符合常规思维

執念 2022-09-08 19:18:15

个人 认为按照 业务逻辑来讲第一种更容易理解,按照 代码逻辑第二种更容易理解。

ゞ花落谁相伴 2022-09-08 19:18:15

建议用一个容易懂的变量去保存if中的表达式

var isOk= statement...;
if(isKnow)
    {
 }

当然这是题外话,我想的是 如果b是一个大于等于0的数的话 a>0||a<b 就不需要判断了,我觉得把一类的条件用一个括号括起来应该比较清晰,或者多用几个变量存一下,再综合这几个条件,这样就兼顾分开写的清晰也避免了多个if语句的麻烦。

var isCondition1=a > 0 || a < b;//条件1
var isCondition2=!str.isEmpty();//条件2
var isCondition3=isCondition1||isCondition2;//最终条件,当然这里的命名根据情况自己命名个容易理解的
if(isCondition3)
    {
  }
星軌x 2022-09-08 19:18:15

第一种,多一个括号就多一层元算,楼主或许可以试一下速度

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文