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

    +171.7

    1. 1
    2. 2
    3. 3
    4. 4
    while (true) {
    	load_config();
    	break;
    }

    Запостил: starfall, 04 Марта 2010

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

    • спецолимпиада продолжается
      Ответить
    • показать все, что скрытоХуйня, Бред, где тут пхп ?? Просто "load_config();" не дано ??? это не ГАВНОКОД это ТУПИЗМО И НАРКО код!
      Харош постить хуйню!
      Ответить
    • do { ... } while(false);
      Заключение в блок (в частности цикл) - чтобы локализовать какую-то переменную в области видимости блока. Хотя в данном случае вроде нечего локализовывать.
      Ответить
      • Нет областей видимости в PHP.
        Ответить
        • В 5.3 есть. Суть вот как раз в том, что локализовывать нечего, код высосан из мизинца на левой ноге.
          Ответить
          • Что-то найти не могу документацию по этому вопросу, можете дать ссылочку?
            Ответить
            • http://php.net/releases/5_3_0.php
              Ответить
              • Ссылку на доку именно по этому вопросу пожалуйста, по вышеупомянутой ссылке не нашёл ничего по теме.
                Ответить
                • в гугле забанили ?
                  Ответить
                  • Если не трудно, то дайте ссылку, где говорится, что есть ещё области видимости, кроме локальных и глобальных, которые как раз к данному примеру подходят.
                    Ответить
                • Вы издеваетесь?
                  Ответить
          • Сколько помню, в пхп всего было две области видимости - глобальная и локальная.
            Ответить
            • А вот появилось. Сам до недавнего времени не знал и пока еще не разбирался что к чему, потому что не сильно то и надо :)
              Ответить
              • Товарисчи, а вы неймспейсы с областями видимости не путаете, а?
                Ответить
              • Ссылку на документацию по этому вопросу.
                Ответить
              • http://www.php.net/manual/en/language.variables.scope.php вот самая последняя документация. Где там говорится про "мистические" области видимости я в упор не вижу.
                Ответить
                • HyperGeek, вот так и рождаются мифы и сказания. Один дурак ляпнул, другой поддержал. Третий поверил и отсылает в гугл, сам не проверив. Четвёртый увидев, что отсылают в гугл и сам ничего не найдя поверит третьему, чтобы за лоха не сочли.
                  Ответить
            • Дык, вот и я так думаю, никто первоисточник открывать не хочет.
              Ответить
      • Вот-вот, с областями видимости в PHP засада. do ... while (false) удобно использовать как костыль вместо goto: если в теле блока в нескольких местах возникают ситуации, когда нужно перейти сразу на конец, мы делаем break.
        Ответить
        • Простите, а какая функция goto имеется в виду?
          Ответить
          • Имеется в виду вот такая ситуация. Вариант с goto:
            // ... код ...
            if (fuckingShit1)
            {
              processFuckingShit1();
              goto endOfProcess;
            }
            // ... ещё код...
            if (fuckingShit2)
            {
              processFuckingShit2();
              goto endOfProcess;
            }
            // ... опять код...
            endOfProcess: // конец блока

            А вот то же самое без goto:
            do
            {
              // ... код ...
              if (fuckingShit1)
              {
                processFuckingShit1();
                break;
              }
              // ... ещё код...
              if (fuckingShit2)
              {
                processFuckingShit2();
                break;
              }
              // ... опять код...
            }
            while (false);
            // конец блока

            goto в PHP есть, но только начиная с версии 5.3, которая вышла недавно и поддерживается далеко не всеми провайдерами (там добавлено некоторое количество годных плюшек, но и есть некоторые несовместимости со старыми версиями), хотя распространяется всё шире. Лично я пока не рискую пользоваться новыми фичами и пишу код, совместимый с 5.1. Плюс против goto выступают некоторые ФГМнутые теоретики, считающие, что в высокоуровневых языках программирования goto - не труЪ, потому что запутывает код.
            Ответить
            • любое лекарство в больших дозах - яд.
              с вами согласен, иногда goto оправдан, но чаще - нет...
              Ответить
              • рассуждения на тему goto - в 95% случаев признак ФГМ
                Ответить
                • Рассуждения на тему ФГМ - в 95% случаев признак луркоёбства
                  Ответить
                  • Знание слова луркоёбство - в 95% случаев признак луркоёбства
                    Ответить
                    • Тогда уж знание значения аббревиатуры ФГМ — в 95% случаев признак луркоёбства
                      Ответить
                      • Тогда уж знание — в 95% случаев признак луркоёбства
                        Ответить
                        • Тогда оставление глупых комментариев — в 95% случаев признак говнокодаёбства
                          Ответить
                • Откуда такая статистика?
                  Ответить
              • Так о том и речь. Лично мне совсем не часто приходится попадать в ситуации, когда goto востребован, т.к. большинство вещей можно реализовать грамотным применением стандартных структур управления. Но иногда вот натыкаешься на ситуации, когда goto очень даже не помешал бы, пишешь на него какой-нибудь вырвиглазный костыль (типа вышеприведённого) и ругаешься про себя.
                Ответить
            • как мне это исключения напоминает
              Ответить

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