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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (1) {
    define("IMGBASE","");
    define("IMGNUM","");
    } else {
    define("IMGBASE","imgs");
    define("IMGFN","_rm");
    }

    Может я плохой программист, а это не говнокод??? Но таких условий в проекте миллионы блядь!

    Запостил: proweber1, 20 Марта 2015

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

    • Комментируй код как профи.
      Ответить
      • Это не мой код. У меня волосы дыбом от этого проекта
        Ответить
      • У меня от этого мозг врывается, как от старой подъебки

        define('true', false, false);
        define('false', true, false);
        Ответить
    • та же беда в новом проекте, как говорят это что бы код не удалять, мало ли пригодиться ))
      Ответить
    • я так часто код в С/С++ комментирую. и в С++ проверки компилябельности в `if (0)` заворачиваю. или если надо что-то для тестов/отладки. но как правило через пару коммитов удаляю или рефакторю. потому что в принципе это комменты, и бесполезные комменты я пытаюсь подчищать.
      Ответить
      • Это не закомментированный код, он вообще при подключении к БД используется :)
        Ответить
        • Это аналог закомментированного кода. Нижняя ветка же не работает, пока единичку не поправишь на 0.
          Ответить
          • Такая условная компиляция для бедных
            Ответить
          • Объясните ньюфагу, нахуя нужен аналог закомментированного кода, когда можно просто закомментировать код?
            Ответить
            • Это одна из больших загадок вселенной - кто сотворил жизнь, есть ли бог и нахуя нужен аналог закомментированного кода, когда можно просто закомментировать код
              Ответить
            • Рискну предположить, что автор часто переключал эти ветки туда-сюда. С комментами это не так быстро, даже хоткеем.
              Ответить
              • Тогда почему там константа а не переменная?
                Ответить
                • Хуй знает. Спроси автора... Я бы такие вещи, типа префиксов, вообще в конфиг или бд утащил...

                  Наверное, автор думал, что вот сейчас он все отладит и эти ветки уйдут..
                  Ответить
                  • Нет ничего более постоянного, чем все временное
                    Ответить
                • потому что это заебывает новичков примерно так же, как нормальные отступы или логирование
                  Ответить
            • if(0) / комментарии == шаблоны / макросы

              1. if(0) может быть вложенным, а комментарии - не в каждом языке
              2. после рефакторинга (хотя бы простое автоматическое переименование) в комментарии может быть код, который не скомпилируется
              3. внутри if(0) работает подсветка синтаксиса и автодополнение - можно полноценно работать с кодом
              Ответить
              • Месье - знаток.
                Ответить
              • 1. Даже в npp есть хоткей для комментирования выделенных строк. Прекращайте пользоваться блокнотом.
                2. Переименование в рнр иде работает? В питоне в эклипсе,например, им реально лучше не пользоваться.
                3. Зачем?
                Ответить
                • > Даже в npp есть хоткей
                  >> if(0) может быть вложенным
                  Кстати, про npp. Не работает.
                  Ctrl+Q инвертирует закомментированность строки. Вот был у меня комментарий, отхватил я кусок побольше, нажал Ctrl+Q - и оказалось, что закомментированы только края области.
                  Ctrl+Shift+Q комментирует блок. Был комментарий, взял кусок побольше, нажал Ctrl+Shift+Q, вышла у меня питушня
                  /* ololo /* trololo */ oh, no */

                  > рнр иде
                  Не знаю.
                  Вообще, да. Я не упомянул, что писал об абстрактном языке с комментариями и if-false, представляя C++.

                  > Зачем
                  Чтобы не нарваться на пункт 2, когда раскомментировал, а оно не работает.

                  И вообще, если кто-то решил комментировать больше одной строчки, а потом ещё и закоммитить это зачем-то, то лучше уж if-false вместо комментария впилит, если выбрасывать уж совсем жалко. Код хотя бы останется кодом.
                  Ответить
                  • Ctrl+Q действительно питушня, а вот Ctrl+Shift+Q работает правильно. npp это не иде а так, на скорую руку строчку поменять. Эклипс работает нормально.
                    Ах, ты про си. Сишкопроблемы :) В питоне все ок.

                    >Чтобы не нарваться на пункт 2, когда раскомментировал, а оно не работает.
                    Ну если код действительно еще нужен, то лучше if. Но тогда уже лучше не if(0) а константу.
                    Ответить
          • что к слову в vim делается нажатием двух кнопок: r1 или r0. мелочь но приятно.
            Ответить
            • Ну а в других редакторах - del и 0. Тоже 2 кнопки.
              Ответить
        • >при подключении к БД
          >БД
          >IMG
          Говно тут вовсе не в условии, тщмт.
          Ответить

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