1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #2176

    +170.8

    1. 1
    /* Читайте описание, не пожалеете =) */

    Коллеги!
    Сейчас кода уже нет, но могу объяснить в двух словах, это было гениально!

    Интерфейс наподобие CRM с выводом записей в HTML таблицу.

    Таблица MySQL с 130 000 записями, без (!) индексов.
    Брались ВСЕ 130 000 (!) записей и загонялись в PHP массив!
    И потом делалась пагинация с выводом по 20 на странице!
    И КАК! Делался цикл по всему (!) массиву, т. е. 1 до 130 000.
    И функция, которая проверяла, входит ли $i (индекс цикла) в промежуток типа от ($page-1)*$on_page до $page*$on_page! Если $i наша - выводим, нет - идем дальше (!) по циклу без остановки.

    Это похоже на программы со специальной задержкой для видимости бурной вычислительной деятельности, которые делали на Delphi в школе - со StatusBar'ами и Sleep'ами.

    Вся эта шняга даже на арендованном сервере работала по 30 секунд.
    Про HTML в стиле <font color="red".. size="2" и т. д. - отдельная история.

    Создавал это 35-летний штатный программист, получавший непомерную зарплату.

    matveev, 25 Ноября 2009

    Комментарии (18)
  3. PHP / Говнокод #2174

    +154.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $srv_id=$_POST['srv_id'];
    $result = mysql_query("
    SELECT *
    FROM srv
    WHERE
    srv_id='$srv_id'");
    $data = mysql_fetch_array($result);
    // ...
    $srv_id=$data['srv_id'];

    marten.spb, 25 Ноября 2009

    Комментарии (18)
  4. C++ / Говнокод #2022

    +56.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    UINT aScrollMode = 0;
         m_pScrollH->GetInfo(&aScrollMode, 0, 0);
         if (!(aScrollMode & M_INVISIBLE))
         {
              ...
         }

    Рефакторю довольно большой проект (5 Мб исходников). Единственный способ спросить у контрола (любого из имеющихся) привожу выше.

    Konstantin.Grebenschikov, 22 Октября 2009

    Комментарии (18)
  5. JavaScript / Говнокод #1877

    +157.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function SetStyleForFilterOver(this2) {
        this2.style.border = "1px solid #ea0000";
        this2.style.color = "white";
        this2.style.background = "#404040";
    }
    function SetStyleForFilterOut(this2) {
        this2.style.border = "1px solid #404040";
        this2.style.color = "#ea0000";
        this2.style.color = "#ea0000";
        this2.style.background = "#eeeeee";
    }

    Тс-с-с-с... Только не говорите автору про css и селектор ":hover" :о)

    Ordos, 21 Сентября 2009

    Комментарии (18)
  6. C++ / Говнокод #1843

    +68.9

    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
    15. 15
    16. 16
    17. 17
    class imgSeq {
    public:
    	CvSeq* faces;
    	IplImage* img;
    	IplImage* small_img;
    	IplImage* gray;
    	CvMemStorage* storage;
    	int id;
    	imgSeq() {
    		CvSeq* faces = 0;
    		IplImage* img = 0;
    		IplImage* small_img = 0;
    		IplImage* gray =0 ;
    		CvMemStorage* storage = 0;
    		id = -1; //unassigned
    	};
    };

    Хотя бы id взаправду инициализирует

    Orfest, 15 Сентября 2009

    Комментарии (18)
  7. Java / Говнокод #1784

    +83.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /**
         * проебразует объект <code>o</code> в объект
         *
         * @param o объект
         * @return объект со значением <code>o</code>
         */
        public static Object toObject(Object o) {
            return o;
        }

    Полное отсутствие знаний основ java

    johnsoft, 07 Сентября 2009

    Комментарии (18)
  8. C# / Говнокод #1781

    +135.2

    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
    public string GetDollarKurs(string input)
    {
        string dol = "[.\\s]*<img height=\"11\" alt=\"Доллар США\" hspace=\"2\" src=\"/images/icon_dollar.gif\" width=\"11\" align=\"left\" vspace=\"2\" border=\"0\">Доллар \r\n\t\t\tСША</td>\r\n\t\t<td></td>\r\n\t\t<td class=\"digit\" align=\"right\">[\\s]*\\d+\\,\\d+[.\\s]*";
        MatchCollection Matches = Regex.Matches(input, dol);
        if (Matches.Count == 1)
        {
            string res = Matches[0].Value;
            res = res.Trim();
            res = res.Substring(res.LastIndexOf('>') + 1);
            return res;
        }
        else
            return "";
    }

    Функция для получения курса доллара, в input подаётся хтмл главной страницы сайта cbr.ru и парсится.
    А web-сервисы пусть кто-нибудь другой изучает... :o)

    Ordos, 06 Сентября 2009

    Комментарии (18)
  9. PHP / Говнокод #1707

    +181.7

    1. 1
    2. 2
    3. 3
    function schitaem_ves_fajla($file) {
     return strlen(file_get_contents($file));
    }

    [email protected] - 05:00 MSK

    greevex, 28 Августа 2009

    Комментарии (18)
  10. PHP / Говнокод #1540

    +168.2

    1. 1
    if ($obj->id == 17718 || $obj->id == 16579 || $obj->id == 16849 || $obj->id == 16527 || $obj->id == 16866 || $obj->id == 16864 || $obj->id == 16863 || $obj->id == 16549 || $obj->id == 16809 || $obj->id == 16155 || $obj->id == 16852 || $obj->id == 16808 || $obj->id == 17750 || $obj->id == 17754 || $obj->id == 16993 || $obj->id == 16720 || $obj->id == 16594 || $obj->id == 16595 || $obj->id == 16703 || $obj->id == 16704 || $obj->id == 16806 || $obj->id == 16807 || $obj->id == 16712 || $obj->id == 16716 || $obj->id == 16722 || $obj->id == 16830 || $obj->id == 16831 || $obj->id == 16867 || $obj->id == 17412 || $obj->id == 16690 || $obj->id == 16039 || $obj->id == 16797 || $obj->id == 16749 || $obj->id == 16829 || $obj->id == 16571 || $obj->id == 16592 || $obj->id == 16136 || $obj->id == 17307 || $obj->id == 16846 || $obj->id == 17308 || $obj->id == 16577 || $obj->id == 16630 || $obj->id == 17405 || $obj->id == 17403 || $obj->id == 16042 || $obj->id == 16131 || $obj->id == 16631 || $obj->id == 16139 || $obj->id == 16575 || $obj->id == 16576 || $obj->id == 16574 || $obj->id == 16573 || $obj->id == 16535 || $obj->id == 16536 || $obj->id == 16570 || $obj->id == 16528 || $obj->id == 16526 || $obj->id == 17409 || $obj->id == 16622 || $obj->id == 16623 || $obj->id == 16619 || $obj->id == 16620 || $obj->id == 16805 || $obj->id == 16151 || $obj->id == 16804 || $obj->id == 16026 || $obj->id == 16613 || $obj->id == 16681 || $obj->id == 16682 || $obj->id == 17414 || $obj->id == 16618 || $obj->id == 16626 || $obj->id == 16627 || $obj->id == 17413 || $obj->id == 16628 || $obj->id == 16629 || $obj->id == 16593 || $obj->id == 16165 || $obj->id == 16166 || $obj->id == 17404 || $obj->id == 16168 || $obj->id == 16174 || $obj->id == 17402 || $obj->id == 16140 || $obj->id == 16624 || $obj->id == 16625 || $obj->id == 16621 || $obj->id == 16832 || $obj->id == 16584 || $obj->id == 16718 || $obj->id == 16719 || $obj->id == 16530 || $obj->id == 16847 || $obj->id == 16585 || $obj->id == 16756 || $obj->id == 16825 || $obj->id == 16823 || $obj->id == 16824 || $obj->id == 17783 || $obj->id == 17787 || $obj->id == 17788 || $obj->id == 17782 || $obj->id == 17789 || $obj->id == 17790 || $obj->id == 17784 || $obj->id == 17791 || $obj->id == 17792 || $obj->id == 17785 || $obj->id == 17793 || $obj->id == 17794) continue;

    Кусок скрипта генерации каталога на CD. Пропуск позиций, которые надо исключить из каталога.

    fkoulba, 12 Августа 2009

    Комментарии (18)
  11. PHP / Говнокод #1510

    +159

    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
    if ($_POST["type"] == "2") {
    	echo '<form name=fm method=post>'.
    	'<select class="f" name="per" onChange="mclick(\'/history.php?type=2&per=\'+document.fm.per.value)">'.
    	'<option value="2"'; if ($per == "2") { print "selected"; }; echo '>'.$lng['history'][14].''.
    	'<option value="5"'; if ($per == "5") { print "selected"; }; echo '>'.$lng['history'][15].''.
    	'<option value="7"'; if ($per == "7") { print "selected"; }; echo '>'.$lng['history'][16].''.
    	'<option value="14"'; if ($per == "14") { print "selected"; }; echo '>'.$lng['history'][17].''.
    	'<option value="30"'; if ($per == "30") { print "selected"; }; echo '>'.$lng['history'][18].''.
    	'<option value="365"'; if ($per == "365") { print "selected"; }; echo '>'.$lng['history'][19].''.
    	'<option value="1000"'; if ($per == "1000") { print "selected"; }; echo '>'.$lng['history'][20].''.
    	'</select>'.
    	'</form>';
    }

    убейте меня

    ratik, 10 Августа 2009

    Комментарии (18)