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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    //надо показать элемент каталога во всей красе
    $_CENTER="show_category_item(".$newParts[0].");";
    eval($_CENTER);
    
    // ...
    $_LEFT='get_main_category($cat_id, $new_path);';
    $_CENTER="show_category_item_list($".'newParts'.");";

    Вот с таким адом мне приходится работать.

    Запостил: oooZinka, 16 Декабря 2013

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

    • Воу воу, евал для подстановки параметра в функцию... умнее ничего не могли придумать или это такое подвление ошибок?
      Ответить
    • Eval я в $_GET этот ваш PHP.

      Тут еще интересные имена: $_CENTER, $_LEFT. Разве пыхосоглашение о именовании не запрещает так называть свои переменные?
      Ответить
      • а кто ему запретит ??? Это же пых он развивается в сторону все прощения. Прощает всё. Что бы на нем не писали он всё исполнит. Если вякать начнет так ему в пасть и @ можно засунуть.
        Ответить
        • Ну на имена, начинающиеся с _, даже сишка не ругается. Но ни один вменяемый программист их там юзать не будет. Потому что себе потом дороже.
          Ответить
          • проблема пыха в том, что мало вменяемый программистов. Которые есть очень быстро сваливают или в питон, или в js (node.js) или в к рельсам. Или вообще нах уходят из веба. Поддреживать проекты на пхп становится все сложней и сложней в плане мало вменяемых.
            Или фрилансеры, или вечные юниоры.
            Ответить
            • Не зря РНР с колоссальным отрывом лидирует по числу говнокодов на этом сайте.
              Ответить
            • Ну так почти впилили почти нормальный почти язык. Я пока ещё не смотрел, но если сравнивать мейнстримовую ветку с 4.Х - как небо и говно.
              Ответить
              • Я как прочитал про примеси. Так просто охуел так и не понял зачем они нужны. Костыльное множественное наследование?
                Ответить
                • В пыхе они есть потому, что они есть во всех модных языках, нельзя отставать, не посрамим честь.
                  Полезные применения есть, о них знает полсотых процента разработчиков.
                  Ответить
                  • не во всех. Да и нужны они далеко не везде. вот в руби примеси нужны. Утинная типизация
                    Ответить
                  • Хоть один пример применения можно ?? если не затруднит а то я сколько не думал так и не додудмался зачем.
                    Ответить
                    • Я только в скалке могу примеры привести.

                      1. Жирные удобные интерфейсы на базе тонких. Пример: обязуем наследника определить compare, предоставляем ему все операторы сравнения на базе его compare.

                      2. Композиция сложных сущностей из строительных блоков. Тут в двух словах не объяснить, лучше примером:
                      https://github.com/roman-kashitsyn/scabb/blob/master/src/test/scala/scabb/ExtendableParserSpec.scala#L63
                      Ответить

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