1. Си / Говнокод #1317

    +138.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if(true)
    {
      //Код
    }
    else
    {
      //Закомментированно, но компилируется. ^_^
    };

    Способ комментирования... O_o

    Запостил: guest, 03 Июля 2009

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

    • А комментирование так делают для проверки закомментированного кода?
      Или это просто говнокод?
      Ответить
    • ололо, а какая суть?
      и нифига не компилируется, т.к. при связании пустое else не будет включено в код...
      cmp *,*
      jz *
      Ответить
    • [quote=Говногость]и нифига не компилируется[/quote]Да ладно. Проверка ошибок произойдёт. На последнем этапе оптимизатор выкинет этот кусок кода, но до этого всё проверится.
      Ответить
    • Вообще это наверное какая-то заглушка/кастыль. Переписывать человеку просто лень. Там раньше видимо было так:
      //if(Нормальное условие)
      if(true)
      {
        //Код
      }
      else
      {
        //Закомментированно, но компилируется. ^_^
      };
      Ответить
      • Нет, это же классика:
        if (true)
        {
        // Код
        } else {
        ...
        PROFIT!
        ...
        }
        Ответить
    • Нужно делать так:
      if(false)
      {
        //Закомментированно, но компилируется. ^_^
      }
      Ответить
    • Хороший приём. Можно ещё использовать

      #if 0
      // закомментировано, и не компилируется. ^_^
      #endif

      если хочется оставить предыдущий код на всякий случай (запрещение вложенности комментариев вида /* ... */ достаёт).
      Ответить
    • Видел документ с набором рекомендаций для разработчиков открытого софта. Одна из рекомендаций - использовать обычный if() вместо препроцессорного #if. Цель такого приема - снижение вероятности наезда вида "а вы наш код сперли" со стороны разработчиков закрытого софта, с последующей юридической возней. Реализация одного и того же алгоритма начинает выглядеть совершенно по-разному, но, благодаря оптимизатору, код генерится одинаковый.
      Ответить

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