1. PHP / Говнокод #3349

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    $div = false;
    while (true) {
        if ($div = !$div) {
            // тут действие если четная итерация цикла
        } else {
            // тут если нечетная
        }
    }
    
    ну, или так
    
    for ($i=0, $div = true; $i<$max; $i++, $div = !$div){
        if ($div) {
            // тут действие если четная итерация цикла
        } else {
            // тут если нечетная
        }
    }

    человек один говорит, что такая проверка на четность/нечетность - говно.
    говно ли?

    Запостил: shmaltorhbooks, 30 Мая 2010

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

    • Выглядит как-то не очень красиво. Можно было бы побитово умножать i (во втором примере) на единичку, примерно так:
      if($i & 1){
      //нечетное
      }else
      {
      //четное
      }

      либо if($i % 2)
      Ответить
      • показать все, что скрытоBLA BLA BLA
        приведённый первый цикл шикарен и кошерен ( второй тоже ничего,но лучьше его разбить на несколько строк для наглядности
        а твой коментарий - хуёвый и медленный
        Ответить
        • проверка последнего бита медленней по сравнению с введением новой переменной?%)
          Ответить
        • Залогинься, хамло. Я хочу знать, как зовут этого тупого 13-летнего мудака.
          Ответить
    • Говны так и плещутся, кошмар! Что дальше то будет...
      Ответить
    • А еще можно попробовать сократить количество итераций в 2 раза
      Ответить
      • неэкономично, много кода получится
        Ответить
        • for ($i = 0; $i < $max; ){
          // Делаем для четных
          $i++;
          // Делаем для нечетных
          $i++;
          }
          Ответить
          • показать все, что скрытоя и говорю - неэкономично.
            Ответить
            • Да в любом случае неэкономично будет: подазреваю, что четный код от нечетного отличается не очень силно, так что в любом случае будет копипаста. Я, конечно, ничего не утверждаю без контекста.
              Ответить
          • расскажи что будет происходить, если $max - четное?)
            Ответить
            • писька отвалится
              Ответить
            • Все правильно будет :)
              Косяк будет как раз таки при нечетном $max (лишний полуцикл, $i == $max)
              Но с учетом возможного while (true) из первого варианта это выглядит не так уж и страшно.
              Ответить
              • >Все правильно будет :)
                Будет, а пока не правильно.
                Ответить
    • как по мне лучше по возможности сделать 2 цикла, чтобы убрать ветвление.
      вариант с for - точно чистый кал
      Ответить
    • первый вариант - навоз, второй - кал
      Ответить

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