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

    +173.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function p_id($p_id)
    {
    	global $product_id;
    	
    	foreach($product_id as $k=>$v)if($p_id==$k)
    	{
    		$sel_r=$k;
    		$sel_t=$v;
    	}
    	return $sel_t;
    }

    Реальная функция и даже реально используется.
    Сотрудник, далекий от кодинга, иногда чтобы не отвлекать меня разные мелочи кодит сам... Ну там по образцам типа...
    Функцию эту кстати я трогать не стал исходя из золотого правила - "работает - не трогай!", так и используется и по сей день...

    Запостил: larrygingras2, 09 Апреля 2010

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

    • Интересно, где он такие образцы берет? Наверное на php.net ))
      Кстати, было уже подобное оттуда http://govnokod.ru/2887
      Ответить
      • Мне скорее интересно, где он такую траву берет...
        А насчет образцов - утверждает что у меня где-то подобный цикл подсмотрел и адаптировал. Ну то есть сам цикл примерно такой структуры имеет право на существование (я даже примерно догадываюсь где именно он у меня подобное увидел), но там всё несколько сложнее разумеется. А он просто взял за основу и упростил для данной задачи :)
        Ответить
        • Какая трава?..... Наоборот, он молодец, раз далек от кодинга и что-то делает сам
          Ответить
          • Кстати "палка о двух концах"...
            Как правило подобный код делается без всякого понимания, чисто методом "тыка". Не работает - ну наверное вот тут надо поменять - о, заработало, заебись!
            Проблема в том, что зачастую оно может и работает как надо, но создает ТАКИЕ уязвимости, что сердце в пятки уходит при виде подобных шедевров на production сервере... Особенно если речь о компании, работающей в сфере онлайн-коммерции, ЕВПОЧЯ...
            Ответить
      • "Источником вдохновения", вероятно, послужил вот этот код:
        foreach($bonus_nr as $k=>$v)if($row["total"]>$k&&$max_total<$k)$max_total=$k;
        Ответить
        • И это Вы называете лаконичным кодом?
          Ответить
          • А как надо?
            Ответить
            • Отсутствие пробелов != лаконичность ;)
              Ответить
              • Я в курсе.
                Я имею в виду как надо более лаконично или, скажем так, изящно (с точки зрения грамотного применения языка) оформить данный алгоритм?
                Ответить
                • Вот как-то так можно
                  $max_total = array_reduce(array_keys($bonus_nr), 'max', $row['total']);
                  Ответить
                  • Результатом выполнения Вашего кода будет всего лишь максимальное значение ключа массива или $row['total'] (если оно больше).
                    Слив защитан
                    Ответить
                    • Я лишь модифицировал твой код, там тоже ключи сравниваются )
                      Ответить
                      • О какой модификации может идти речь если результат выполнения разный?!
                        Мой код находит максимальный ключ, значение которого меньше $row["total"].
                        Приведенный тобой код чуть более чем безсмысленнен: он всего лишь находит максимальное значение из множества ключей массива и $row['total']
                        Неужели мне нужно привести конкретные примеры входных данных, чтобы было понятно, в чем разница?!
                        Ответить
                        • Чорт, не разгледел... каюсь
                          Ответить
                          • Бывает, ничего страшного :)
                            В конце концов мы сюда не на олимпиаду по информатике пришли, а показать именно особо отмороженные вещи...
                            Ответить
      • Да, те же яйца
        Адъ :(
        Ответить
    • Скоко похапешники не втычивают долларов в свои программы, а платить им за говнокод больше не станут :Р
      Ответить
      • К счастью, в нашей компании, в отличии от индусов, объем проделанной работы не измеряется килобайтами кода.
        Лично мой код как правило лаконичен донельзя.
        Ответить
      • Мы берем не в долларах, а в рупиях ) Или что там в Индии ))
        Ответить
    • А как дурак использую $product_id [ $p_id ] везде, а оно вот как оказывается надо...
      Эх, придётся везде переписывать "как надо"...
      Вернее так как всё у нас делается (через жопу)
      Ответить
    • Зачем нужен set_r, если возвращается только set_t?
      Ответить
    • показать все, что скрытоА ты ещё не знаешь С++? Тогда мы идём к вам.
      Ответить

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