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

    +1001

    1. 1
    2. 2
    3. 3
    if ($captcha_url != '' && 1 == 1) {
            //echo $html;
            require('antigate.php');

    Интересно, зачем потребовалось единицы сравнивать

    Запостил: OnlyFirster, 28 Июля 2015

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

    • Может быть, заплатка? Вдруг там вместо одной единицы была переменная или вызов функции, а потом убрали? Ну а вдруг?
      Ответить
      • поддерживаю. Иначе там было бы
        && 1 == 1 && 1 == 1 && 1 == 1 && 1 == 1 && 1 == 1 && 1 == 1 && 1 == 1&& 1 == 1 ...
        Ответить
        • Я считаю, что
          1 == 1 && 2 == 2 && 3 == 3 && 4 == 4 && ...

          куда рациональней! А
          1 == 1 && 2 == 2 && 4 == 4 && 8 == 8 && 16 == 16 && ...
          еще и оптимальней
          Ответить
      • А вдруг вместо единицы там была другая цифра?
        Ответить
    • В параллельной вселенной, где 1 != 1, antigate.php не нужен.
      Ответить
    • Так делают некоторые кодеры во время отладки, когда возникает потребность не выполнять код после условия (могут ставить для этого условие 1 != 1), затем снова учитывать этот блок кода (1 == 1), потом опять не учитывать и т. д. Просто кто-то забыл подтереть это "тестировочное" условие после такого рода отладок.
      Ответить
      • в пыхе (1) не true?
        Ответить
        • пыха вообще не true
          Ответить
          • Сударь Я вызываю Вас на дуэль....
            Ответить
            • Я принимаю ваш вызов! Победит тот, кто расколет больше дров. Дрова я предоставлю
              Ответить
              • Я могу быть секундантом Vasiliy!
                Ответить
                • ага, проверишь топор, расколешь чурок 10
                  Ответить
                  • Не только. Я буду следить за вами, сударь. Вдруг вы решите принести уже готовые, расколотые дрова. И будьте уверены, мсье, я буду смотреть внимательно!
                    Ответить
      • Тему уже поднимали не раз. Они в блокноте кодят? Даже в npp есть комбинация на коммент выделенных строк.
        Ответить
        • Не всегда удобно выключать код комментированием.
          Ответить
          • Я всегда так делал.
            Ответить
            • тебе можно ты пидар.
              Ответить
              • А ты, гетераст, небось о такой возможности и не знал?
                Ответить
                • Нормальные поцаны юзают assert
                  Ответить
                  • Чего-чего? Ну-ка поясни баке-анимешнику, как для отключения куска кода воспользоваться assert()'ом?
                    Ответить
                    • как, как! никак..

                      Но пидор об этом может и не знать
                      Ответить
                    • // Тестовая функция
                      function test_assert($parameter)
                      {
                      assert(is_bool($parameter));
                      }

                      // настройки проверки
                      assert_options(ASSERT_ACTIVE, true);
                      assert_options(ASSERT_BAIL, true);
                      assert_options(ASSERT_WARNING, false);
                      assert_options(ASSERT_CALLBACK, 'assert_failure');

                      // заведомо ошибочное утверждение
                      test_assert(1);

                      // Этот код не будет выполняться, пока ASSERT_BAIL
                      // равен true
                      echo 'Никогда не будет выведено';
                      Ответить
                      • Так весь код, который идёт ниже, не будет выполняться... А тут речь идёт о том, чтобы блок кода не исполнять.
                        Ответить
    • потому что место где надо часто отлаживать. меняешь одну из 1 на 2 и получаешь стабильный фолс. туповато, но собственно... и такое бывает.
      Ответить
      • Не, ну я всё понимаю, PHP, все дела... Но неужели нельзя вытащить "место, где надо часто отлаживать" в функцию и написать к ней немножко юнит-тестов?
        Ответить
        • можно. Но юнит-тесты знают только избранные, люк. Реально многие даже не в курсе что такое бывает
          Ответить
          • Забавно, что я "изобрёл" их сам, за много лет перед тем как прочитал и узнал о том, что это называется тестом :)

            Тупо написал пачку вызовов функции, сравнивая ответ с нужным, потому что лень было руками проверять 100500 вариантов...
            Ответить
            • я тоже еще курсе на 2 или 3 какую то лабу тестил - написал функцию с кучей тестов и подумал - клево бы если это было встроенно в ide и плюшек сверху - погуглил - и действительно.

              В программировании без любознательности и смекалки никуда
              Ответить
              • На "смекалке" (а точнее, гуглении на каждый чих) далеко не уедешь.
                Ответить
        • У меня например есть такое место. Когда файлы забираются с почтовых ящиков, парсятся, заливаются на фтп и попутно чего то то там рассылаются на другие ящики + плюс в БД активно пишется и ищется там чего нить. Все это сделано в одном файле без разделения на функции. Вот как это говнище unit тестами просто не представляю.
          Ответить
          • > говнище
            Ну на то оно и говнище, чтобы быть нечитаемым, неподдерживаемым и нетестируемым ;)
            Ответить
          • Бля, я ебу каким надо быть муднем чтобы писать такое на языке с динамической типизацией. Оно же от любого изменения может упасть.
            Ответить
            • Зачем муднем достаточно быть Укропом. Я к тому что автор хохол.
              Ответить

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