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

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

    −110

    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
    ''' <summary>
    	''' Возвращает Boolean по правилам Бэйсика: если объект является ненулевым 
    числом или истиной, тогда true, иначе false; переваривает все типы.
    	''' </summary>
    	''' <param name="o"></param>
    	''' <returns></returns>
    	''' <remarks>
    	''' </remarks>
    	''' <history>
    	''' 	[Max Pro]	13.04.2007	Created
    	''' </history>
    	''' -----------------------------------------------------------------------------
    	Public Function bBoolean(ByVal o) As Boolean
    		If bIsBoolean(o) Then bBoolean = o
    	End Function
    	'''

    Расскажу немного о Максиме Прохорове. Он окончил универ им. Баумана с красным дипломом, потом работал над программой okno.mos.ru потом его взяли в частную контору на бешеные бабки.
    Это функция проверки ^

    ursus, 23 Апреля 2010

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    foreach($arResult["ITEMS"] as $k=>$arItem){
    	list($d,$m,$y) = explode(" ",$arItem["DISPLAY_ACTIVE_FROM"]);
    	$arResult["ITEMS"][$k]["DISPLAY_ACTIVE_FROM"] = $d." ".convertRusMonth($m)." ".$y;
    }

    Преобразование даты, необходимо изменить название месяца, к пример февраль должен стать февраля. Формат месяца заранее известен.

    Abductio, 22 Апреля 2010

    Комментарии (13)
  4. JavaScript / Говнокод #3053

    +187.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
    15. 15
    HTTP/1.1 404 Not found
    Server: Netscape-Enterprise/4.1
    Date: Mon, 19 Apr 2010 13:05:32 GMT
    Content-type: text/html
    Connection: close
    
    <script language="JavaScript">
                                  port=0
                      while ( port==0 || port==9 || port==7 ){
                                      port=Math.floor(Math.random()*1000)
                 while (port>=100) port-=100
                                              while (port>=10) port-=10
                                                                         }
    location="http://"+"10.1.100.120:8"+port+document.location.pathname+document.location.search+document.location.hash
    </script>

    вот такой суровый редирект. может вам будет смешно но я из-за неизвестного мудака убил полтора часа.
    думаю он хотел рандомом генить порт от 1 до 1000
    а потом смотреть входит оно в диапазон 81-86,88
    оно подтупливало и он придумал "оптимизацию" ))

    дети, никогда так не вычисляйте остатки
    а если сильно хочется рандомов и всего то уж лучше так

    <script language="JavaScript">
    port=Math.floor(Math.random()*8)+1;
    if (port==7) port++;

    location="http://"+"10.1.100.120:8"+port+document.locatio n.pathname+document.location.search+docu ment.location.hash
    </script>

    3.14159265, 19 Апреля 2010

    Комментарии (13)
  5. Pascal / Говнокод #2974

    +106.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
    15. 15
    16. 16
    17. 17
    18. 18
    /////////////////////////// удаление спецсимволов
    Prbl:=' ';
    WS_h:=AnsiReplaceText(WS_h, Chr(13), Prbl);
    WS_h:=AnsiReplaceText(WS_h, Chr(10), Prbl);
    WS_h:=AnsiReplaceText(WS_h, ' ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '           ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '          ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '         ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '        ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '       ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '      ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '     ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '    ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '   ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '  ', Prbl);
    /////////////////////////////////////////////////
    WS_h:=AnsiReplaceText(WS_h, '<span class=SpellE>', '');
    /////////////////////////// удаление спецсимволов

    Красиво оформленный код - залог успеха!

    Temnenkov, 09 Апреля 2010

    Комментарии (13)
  6. SQL / Говнокод #2953

    −862

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    CREATE TABLE IF NOT EXISTS `tbl_game` (
      `game_id` bigint(20) NOT NULL AUTO_INCREMENT,
      `game_name` varchar(150) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci NOT NULL DEFAULT '',
      `upload_date` bigint(20) NOT NULL DEFAULT '0',
      `magazine_id` bigint(20) NOT NULL DEFAULT '0',
      `producer_id` int(11) NOT NULL DEFAULT '0',
      `dir` varchar(60) NOT NULL DEFAULT '',
      PRIMARY KEY (`game_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=538 ;

    Вот наткнулся на такую вот говенную таблицу.

    Для некоторых случаев возможностей utf-8 видно не хватило, и пришлось использовать "продвинутую" cp1251

    Yngvie, 07 Апреля 2010

    Комментарии (13)
  7. PHP / Говнокод #2938

    +144

    1. 1
    // кода не выкладываю, по соображениям безопасности

    Не писаным правилом безопасности (при создание сайтов) считается, что доступ к админке в целом и конкретно к отдельным её частям должен иметь только авторизированный пользователь. На самом деле все обстоит не так, с уже известной вам горе компании (КСК), для примера привожу безобидное (дабы не пошли ломать ресурсы) пренебрежением безопасности: http://amisharin.ru/admin/ieeditor/ieeditor.php?vname=htmlcode
    Как видно не авторизированный пользователь получает доступ к редактору (который, кстати, стабильно работает, только в IE6).

    MoLe-X, 06 Апреля 2010

    Комментарии (13)
  8. PHP / Говнокод #2929

    +165

    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
    $fileSelect = array();
    if (is_dir($filefolder)) {
        if ($dh = @opendir($filefolder)) {
            while (($file = readdir($dh)) !== false) {
                if (filetype($filefolder . $file) == "file" and $file != "0.txt") {
                    $sql  = 'SELECT * FROM bd_file WHERE file_file = ?';
                    $stmt = db_prepare($sql, $file); $res  = db_query($stmt);
                    if (!db_num_rows($res)) {
                        $fileSelect[$file] = $file;
                    }
                }
            }
        }
        closedir($dh);
    }
    ...
    unset($fileSelect);

    Сервер медленно умирал, так как данная конструкция вызывалась при каждом удобном случае, будь то добавление нового файла или скачивание. Самое поразительное, что с полученным массивом нечего не делали, а тупо уничтожили

    P.S. минимальная стоимость сайта у этой фирмы 3.000.000 рублей

    MoLe-X, 05 Апреля 2010

    Комментарии (13)
  9. Си / Говнокод #2886

    +143.8

    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
    //...
    int a[65535],i;
    //...
    while(a[i]>0)
    {
    i++;
    a[i]++;
    a[i]++;
    a[i]++;
    a[i]++;
    //еще 60 раз a[i]++;
    i--;
    a[i]--;
    }

    Вот что значит компилятор Brainfuck => C без примитивнейшего оптимизатора.
    (приведенный обрывок кода соответствует [>++++еще 60 плюсов<-])

    frp, 28 Марта 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $text=strip_tags($text);
    $text=substr("$text", 0, 350);
    echo"<div align=justify>";	
    echo"$text ";
    echo"... ";
    echo  "<a  href=../news/viewnews.php?kley=$kley>>></div><hr></td></tr>";
    echo "</table>";

    Какой то бянист не мог через одно ехо вывести я уже молчу про двойные скобки...
    автор неизвестен

    dobs2005, 16 Марта 2010

    Комментарии (13)
  11. Си / Говнокод #2746

    +104.7

    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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    /*==================================================================================*/
    /* Преобразование целого числа в ASCII												*/
    /*==================================================================================*/
    unsigned char IntToStr (unsigned long Value,unsigned char *pBuf,unsigned char n,unsigned char Zeros)
    {
    // Локальные переменные
    	unsigned char 	j = 0;
    	unsigned long 	dec;
    	uldiv_t			Tmp;
    // Программа
    // Перевод ASCII в значение
    	while (n--)
    	{
    		switch(n)
    		{
    			case 0:
    				dec = 1;
    			break;
    			case 1:
    				dec = 10;
    			break;
    			case 2:
    				dec = 100;
    			break;
    			case 3:
    				dec = 1000;
    			break;
    			case 4:
    				dec = 10000;
    			break;
    			case 5:
    				dec = 100000;
    			break;
    			case 6:
    				dec = 1000000;
    			break;
    			case 7:
    				dec = 10000000;
    			break;
    			case 8:
    				dec = 100000000;
    			break;
    			case 9:
    				dec = 1000000000;
    		}
    		Tmp = uldiv(Value,dec);
    	// Остаток
    		Value = Tmp.rem;
    	// Ограничение
    		if (Tmp.quot > 9)
    			Tmp.quot = 9;
    	// Проверка целой части
    		if (Zeros || j || Tmp.quot || (dec == 1))
    			*(pBuf + j++) = Hex_Table[Tmp.quot];
    	}
    	*(pBuf + j) = '\0';
    	return j;
    }

    без комментариев.

    angry C nerd, 10 Марта 2010

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