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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(!function_exists('getImg')){
        function getImg($isVip)
        {
        $type = false;
        if (isset($_GET['f']) && $_GET['f']) $type = 1;
        if (isset($_GET['bl']) && $_GET['bl']) $type = 16;
        if (isset($_GET['lw']) && $_GET['lw']) $type = 'author';
        if (isset($_GET['sym']) && $_GET['sym'] && $isVip) $type = 2;
        return $type;
        }
    }

    Функция getImg: хм... название как бэ намекает нам, что должно на выходе получиться что-нибудь типа картинки или её адреса, НО НЕТ! нам возвращается какой-то тип...
    Что это за тип (ну да, да, php бестиповой язык, но нужно же как-то хотя бы намёки на тип делать) - одному Богу известно, НО! эта переменная изначально логическая, потом ВНЕЗАПНО превпращается в число, ну и под конец может быть и строкой! (ну а почему бы и нет)
    Причём конечно же всем очевидна последовательность: 1, 16, (опять-таки ВНЕЗАПНО) 'author', ну и по уже "понятной" логике в конце 2

    Да, ну и разумеется вокруг оооочень много комментариев поясняющие этот кусок кода...
    А вы на индусов ругаетесь... Так-то!

    Запостил: Zemtall, 06 Сентября 2010

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

    • if (id != 42)... (C) ;)
      Ответить
    • Да ладно вам.
      Изящная логика, создание функции, которой передается параметр, используемый лишь в одном условии - отличная реализация функционала PHP.
      А Img скорее всего означает что-то другое.
      Этот код прекрасен для понимания и в комментариях не нуждается.
      [sarcasm_mode=off]
      Ответить
    • нет, Img - это как-раз Image, там далее подразумевалось, но на понимание этого мне понадобилось ещё около часа....
      для [sarcasm_mode=off] - [sarcasm_mode=on]???
      Ответить
    • isset($_GET['lw']) && $_GET['lw'] - и про empty мы не знаем,
      зато боимся, что функцию мы уже где-то написали (см 1 строку)

      и кодоиндусы - понятие интернациональное
      Ответить
    • // [ ??? ]

      if(!function_exists('getImg')) {
      function getImg($isVip) {

      $ar1=array(false, 1, 16, 'author', 2 );

      $ar2=array(false, @$_GET['f'], @$_GET['bl'], @$_GET['lw'], @$_GET['sym']&&$isVip);

      return $ar1[ array_search(true, array_reverse( $ar2, true ) ) ];
      }
      }

      // [ ??? ]
      Ответить

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