代码之家  ›  专栏  ›  技术社区  ›  pavanlimo

最佳实践:if(foo==false)或if(!foo)[副本]

  •  9
  • pavanlimo  · 技术社区  · 14 年前


    What is the preferred way to write boolean expressions in Java

    在Java代码和if语句中使用布尔变量的更好方法是什么。

    boolean foo=true
    //1. 
    
    if(foo == false)
        // do something
    else
        // do something else
    
    //2.
    
    if(!foo)
        // do something
    else
        // do something else
    

    我支持[1],因为我认为它更具可读性。

    7 回复  |  直到 7 年前
        1
  •  13
  •   Jeffrey    14 年前

    if (!hasPurple) ...

        2
  •  6
  •   Rob Gray    14 年前

    我发现#2更具可读性。我想每个Java开发人员(我是C#开发人员)都会知道什么!手段。我

    虽然这里可能不是重点,但我更喜欢用我的“真”块作为陈述。如果条件通常为false,那么我命名变量来表示

    if (notFoo) 
      // do something when
    else
      // do something else
    
        3
  •  5
  •   JBirch    14 年前

    if (foo == true){}

    if (foo = true){}

    作为印刷错误。很多时候,这是一个很容易发现的错误,但它似乎很容易犯那个快速的错误。

        4
  •  1
  •   Community George Stocker    7 年前

    在语句中使用布尔变量作为条件时,不要将其与true进行比较。

    为什么“!“福”更好 from

    • 简洁性:假设您所处的上下文中布尔值是
      必需,并且“x”是布尔值,它是
      ==真”,或“!“x”比“x==false”。

    • 惯例:java中的经验丰富的程序员(或C++、C++、C等)
      语言)希望看到“x”而不是

      而不是“x==false”。

    • 健壮性:在Java中,条件语句和循环语句都需要
      中的布尔值表达式

      然后是“if(y=foo)”形式的拼写错误 {“将在中给出编译错误
      爪哇。但如果“y”是布尔值
      “if(y=foo){”不给出

      你已经准备好对付一大堆虫子了
      因为打字错误。

        5
  •  0
  •   ckv    14 年前

    假设你有数百个这样的验证检查,你总是用false检查。

        6
  •  0
  •   drekka    14 年前

    说到这里!我认识的大多数开发者都喜欢foo。

        7
  •  0
  •   Conceited Code    14 年前

    这是意见问题。我更喜欢数字2,因为它编写的代码更少,而且我认为它同样可读。