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

    +18.5

    1. 1
    2. 2
    3. 3
    if (true) {
      // Something
    }

    Уже два года, как девушка закончила универ...

    Запостил: guest, 10 Декабря 2008

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

    • страйко:
      если красивая, то можно простить :)
      Ответить
    • может это выделение scope
      Ответить
      • Тогда очень некуёва умны падход :)
        Она 100500 брюнетко Ы
        Ответить
    • OlegYch:
      есть такая фишка, что компилятор детектит нефозможность выполнения участков кода и кидает в таком случае ошибку
      а таким макаром его можно обмануть
      например:
      if (true) throw new Error(); doSomethingElse();

      это полезно при отладке, но в готовом коде, конечно - WTF
      Ответить
    • biggieman:
      Можно такие конструкции использовать, когда нужно типа быстро \"закомментировать\"-\"раскомментировать\" блоки, содержащие уже многострочные комменты..
      if (0) {
       /*
         Function1
       */
      
       /*
         Funtion 2 
       */
      }


      Удобная вещь при отладке.
      Ответить
    • SmileSRG:
      Дык это не говнокод, а хорошая практика, когда надо запретить/разрешить выполнять определенный участок кода. А девушка молодец, видно, что в универе училась.
      Ответить
    • страйко:
      я думал такие участки кода комментируют, а не обрамляют в if (true|false)
      Ответить
    • Владимир:
      Да, для отладки это действительно полезно и удобно. Удобнее чем комментировать кусок кода.
      Вот например простой вариант использования:
      требуется сделать безусловный выход из метода в начале метода, комментировать остальное тело метода очень неудобно в этом случае, проще добавить две строчки.
      Ответить
    • Zlaxer:
      OlegYch +1
      biggieman +1
      SmileSRG +1, но универ конечно много полезного не привнесет..
      Владимир +1
      угу,
      if (true) {
      //...
      }
      очень полезная штука, например чтоб не комментить остаток кода можно в середине метода вызвать if (true) return; без if (true) компиллер будет ругаться.
      Ответить
    • if (0) {
      //...
      }

      сразу выдает ИНДУСА.
      убивать надо за такое.
      Ответить
    • anmiles:
      Ничего подобного. Сам часто прибегаю к конструкции
      if (1 || искомое_условие)
      {
      do_something;
      }
      при отладке, если хочу насильно прогнать какой-то кусок кода независимо от выполнения условий для него.

      Другое дело, что в готовом отлаженном коде таких вещей быть не должно.
      Ответить
    • лучше добавить глобальную константу
      static final boolean DEBUG = true; // false в финальной версии

      тогда становится очевидно назначение такого подхода.
      если же таких блоков становится много, то можно и локальную переменную:

      boolean final debug = true;

      if (!debug)
      {
      ...
      }

      такой код можно оставлять даже в финальной версии - компилятор сам вырежет все блоки с заведомо ложным условием.
      Ответить

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