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

    +169

    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
    <?php
    
    // ...
    function init_module_laboratory()
    {
        // ... 871 строка глазовыдирающего кода и далее:
    
        /**
         * Дорогой продолжатель развития этого дерьмого приложения,
         * я перед уходом подготовил для тебя много пряников, чтобы
         * тебе не было скучно. Желаю тебе удачного рабочего времени!
         */
        return !!1?!0:(!!1?(!1?!0:(!!!1?!!1:!1)):!1);
    }

    И такое встречаться может

    Запостил: greevex, 02 Сентября 2013

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

    • Я так понимаю "прикол" в последней строчке(return)? Так там же вроде одни константы, и чтобы понять, что вернет этот return, достаточно просто скомпилировать программу.
      Ответить
      • > достаточно просто скомпилировать программу.
        Достаточно просто вставить всё, что после return, в консоль браузера.
        А браузер у пхп-разработчика должен быть под рукой.
        Ответить
        • достаточно просто знать про http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%80%D0%BD%D0%B0%D1%80%D0% BD%D0%B0%D1%8F_%D1%83%D1%81%D0%BB%D0%BE% D0%B2%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D0% B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F
          Ответить
          • А что это за ссылки такие афигенные?
            Ответить
            • Это Хром + расстановка пробелов на ГК. Гремучая смесь.
              Ответить
              • Убрал пробелы - все равно не открывается. ВТФ?
                Ответить
                • Не все пробелы?
                  А вообще, это было http://ru.wikipedia.org/wiki/Тернарная_условная_операция
                  Ответить
          • Конечно, достаточно знать про (?:). kegdan знал, все, кто читают код, знают. Но автор кода как раз рассчитывал на знающих. Посмотреть, убедиться как epic_fail, что они - константы, выделить текст, нажать Ctrl+C, Ctrl+Shift+J, Ctrl+V, Enter и получить результат, не отвлекаясь на троллей - бесценно :)
            Ответить
    • кажется все просто
      !!1?!0:(!!1?(!1?!0:(!!!1?!!1:!1)):!1);
      =
      так как !!1 - true то вернет !0 - true
      Ответить
    • >одготовил для тебя много пряников, чтобы
      * тебе не было скучно
      если все пряники такие то будет скучно. пацанчик не умеет пхп в консоли. зы пхпшторм умеет вычислять выражения пхп из коробки.
      Ответить
    • Передаёшь этот код службе безопасности с пояснениями в чём "прикол" и этот бывший говно-программист-вредитель уже никогда не найдёт работу.
      Ответить
      • В чем опасность этой строки?
        Ответить
        • Опасность в строке "Желаю тебе удачного рабочего времени!" и сути говна. Это вредитель, который намерено создал проблемы в поддержке кода. С таким же успехом может быть хитрый баг, используемый для снятия защиты, например. С вредителями надо бороться. Даже если работодатель был гандоном и заслужил подобную "ненависть".
          Ответить
          • и в чем тут проблема? она решается с первого взгляда. скучно даже.
            Ответить
            • "много пряников"
              так что как минимум придётся тратить время, чтобы эти пряники схавать. Разбираться в чужом коде итак мало приятного, а когда он специально разбавлен говнищем...
              Ответить
              • Данный конкретный случай реально одноразов. Автор писал дольше наверняка, чем потратить время и раскодировать.
                Ответить
                • Там выше еще 871 строка...
                  Ответить
                  • Те строки он делал не специально, но, если он подумал, что его ретурн будут долго и мучительно разбирать, готов спорить, что остальной код де-факто говнище
                    Ответить
                  • Из ретурнов?
                    Ответить
                    • Код на пёрле:
                      # Дорогой продолжатель развития этого дерьмого приложения,
                      # я перед уходом подготовил для тебя много return'ов, чтобы
                      # тебе не было скучно. Желаю тебе удачного рабочего времени!
                      return $xxx if !!0?!0:(!!1?(!1?!0:(!!!1?!!1:!1)):!1);
                      return $xxx+5 if !!0?!0:(!!1?(!1?!1:(!!!1?!!1:!1)):!1);
                      return substr($xxx, 3, 5) if !!0?!0:(!!1?(!1?!0:(!!!1?!!1:!1)):!1);
                      return f($xxx) if !!0?!0:(!!1?(!1?!0:(!!!0?!!1:!1)):!1);
                      return 100500 if !!0?!0:(!!1?(!1?!0:(!!!1?!!1:!1)):!1);
                      # еще 871 return ... if ...
                      Ответить
      • Вахтерша Баба Маша без очков не видит.
        Ответить
      • Неужто прямо не найдет?
        Ответить
        • В крупной компании, которая не ленится позвонить на предыдущее место работы - не найдёт.
          Ответить
          • А в некрупной? А если место работы не сообщать?
            Ответить
            • И трудовую книжку не давать, да?
              Ответить
              • Ну как вариант. Проебёшь стаж, получишь подозрения (куда это ты ее потерял?), зато отмажешься от того, что натворил на прошлой работе.
                Ответить
                • И на вопрос "где работали, что делали?" скромно ответишь: "Да так, фрилансил... Например, пузырьковую сортировку реализовал однажды... сам!"
                  :)
                  Ответить
                • >Проебёшь стаж

                  Охуенный стаж в написании говна
                  Ответить
    • показать все, что скрытоф пизду пхп
      Ответить
    • var_dump(!!1?!0:(!!1?(!1?!0:(!!!1?!!1:!1 )):!1));

      bool(true)

      :D
      Ответить
    • И вот спустя годы губы Мэта впервые прикоснулись к моим губам, исполнив моё самое заветное желание. Даже поверить трудно. Когда-то я об этом и мечтать не мог. А сейчас...
      Ответить

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