1. Java / Говнокод #3438

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (doSomething() == true) {
        if (doSomething2()) {
            //...
        }
    }

    Запостил: lotik, 10 Июня 2010

    Комментарии (11) RSS

    • Если убрать ==true, то имеет место быть.
      Ответить
      • Этот код продолжение http://govnokod.ru/3439

        Я бы не только == true убрал...
        Ответить
    • if (doSomething2() == true) тоже. и так 100 ифов
      Ответить
    • if (doSomething() && doSomething2()) {} // K.O
      Ответить
      • if (doSomething() == true) {
            if (doSomething2()) {
                //...
            }
        }

        !=
        if (doSomething() && doSomething2()) {}
        doSomething2 - не всегда можно исполнять, если не исполнился doSomething. Может здесь как раз такой случай.
        //К.О.
        Ответить
        • а может и нет. Капитан здесь бессилен.
          Ответить
          • Капитан подсказывает, что выполнится ли doSomething2() зависит от компилятора
            Ответить
            • if (doSomething())
                  if (doSomething2())
                  {
                      //...
                  }

              Как бы думать на эту тему не нужно. Достаточно просто написать правильно, если есть возможная зависимость doSomething2 от doSomething.
              Ответить
            • По-моему вычисление выражения в условном операторе по короткой схеме прописано в стандарте.
              Ответить

    Добавить комментарий