首页 > 两种if语句写法哪种更易读

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

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

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

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

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

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

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


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


都一样。

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


建议用一个容易懂的变量去保存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)
    {
  }

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

【热门文章】
【热门文章】