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

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

    −162

    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
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    USE [VOLTAREN]
    GO
    /****** Object:  UserDefinedFunction [dbo].[myReplace]    Script Date: 04/05/2011 12:11:42 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER FUNCTION [dbo].[myReplace](@NAME varchar(255))
    RETURNS varchar(255)
    BEGIN
    set @NAME = (
    	UPPER(
    replace(
    	replace(
    		replace(
    			replace(
    				replace(
    					replace(
    						replace(
    							replace(
    								replace(
    									replace(
    										replace(
    											replace(
    												replace(
    													replace(
    														replace(
    															replace(
    																replace(
    																	replace(
    																		replace(
    																			replace(
    																				replace(
    																					replace(
    																						replace(
    																							replace(
    																								replace(
    																									replace(
    																										replace(
    																											replace(
    																												replace(
    																													replace(
    																														replace(
    																															replace(
    																																replace(
    																																	replace(
    																																		replace(
    																																			replace(
    																																				@NAME,'*','')
    																																			,'табл','таб')
    																																		,'~','')
    																																	,'`','')
    																																,'<','')
    																															,'>','')
    																														,'}','')
    																													,'{','')
    																												,']','')
    																											,'[','')
    																										,'=','')
    																									,'_','')
    																								,'#','')
    																							,'$','')
    																						,'?','')
    																					,'^','')
    																				,'&','')
    																			,'@','')
    																		,'''','')
    																	,'"','')	
    																,':','')
    															,'%','')
    														,'-','')
    													,'+','')
    												,')','')
    											,'(','')
    										,'N','')
    									,'№','')
    								,'|','')
    							,'\','')
    						,'/','')
    					,'!','')
    				,';','')
    			,',','')
    		,'.','')
    	,' ','')));
    	
    
    return(
    replace(
    	@NAME,
    'покробол','по')
    )
    	
    
    END;

    функция удаления не нужных символов из строки

    cu3blukekc, 05 Апреля 2011

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private $data = array(
    		'name' => '',
    		'organization' => '',
    		'mail' => '',
    		'phone' => '',
    		'comment' => '',
    		'model' => '',
    	);

    Так адекватные люди создают асоциативные массивы? Или по другому?

    greshnik, 27 Марта 2011

    Комментарии (26)
  4. Си / Говнокод #5968

    +125

    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
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    #line 411 "ext/standard/var_unserializer.c"
    {
    	YYCTYPE yych;
    
    	if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
    	yych = *YYCURSOR;
    	switch (yych) {
    	case 'C':
    	case 'O':	goto yy13;
    	case 'N':	goto yy5;
    	case 'R':	goto yy2;
    	case 'S':	goto yy10;
    	case 'a':	goto yy11;
    	case 'b':	goto yy6;
    	case 'd':	goto yy8;
    	case 'i':	goto yy7;
    	case 'o':	goto yy12;
    	case 'r':	goto yy4;
    	case 's':	goto yy9;
    	case '}':	goto yy14;
    	default:	goto yy16;
    	}
    yy2:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy95;
    	default:	goto yy3;
    	}
    yy3:
    #line 733 "ext/standard/var_unserializer.re"
    	{ return 0; }
    #line 442 "ext/standard/var_unserializer.c"
    yy4:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy89;
    	default:	goto yy3;
    	}
    yy5:
    	yych = *++YYCURSOR;
    	switch (yych) {
    	case ';':	goto yy87;
    	default:	goto yy3;
    	}
    yy6:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy83;
    	default:	goto yy3;
    	}
    yy7:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy77;
    	default:	goto yy3;
    	}
    yy8:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy53;
    	default:	goto yy3;
    	}
    yy9:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy46;
    	default:	goto yy3;
    	}
    yy10:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy39;
    	default:	goto yy3;
    	}
    yy11:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy32;
    	default:	goto yy3;
    	}
    yy12:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy25;
    	default:	goto yy3;
    	}
    yy13:
    	yych = *(YYMARKER = ++YYCURSOR);
    	switch (yych) {
    	case ':':	goto yy17;
    	default:	goto yy3;
    	}
    yy14:
    	++YYCURSOR;
    
    /* далее еще несколько похожих кусков кода чуть менее хардкорных */

    http://svn.php.net/viewvc/php/php-src/trunk/ext/standard/var_unserializer.c?view=markup

    Исходники функции unserialize в php, не зря она так медленно работает на больших массивах...

    dim-s, 13 Марта 2011

    Комментарии (26)
  5. Java / Говнокод #5926

    +72

    1. 1
    Object key = (Object) (iterator.next());

    alt, 08 Марта 2011

    Комментарии (26)
  6. Pascal / Говнокод #5860

    +128

    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
    uses crt;
    var
    d,m,k:integer;
    begin
    write('Введите день - ');readln(d);
    write('Введите месяц - ');readln(m);
    case m of
    1: k:=365-d;
    2: k:=365-(31+d);
    3: k:=365- (31+28+d);
    4: k:=365- (31+28+31+d);
    5: k:=365- (31+28+31+30+d);
    6: k:=365- (31+28+31+30+31+d);
    7: k:=365- (31+28+31+31+30+30+d);
    8: k:= 365-(31+28+31+31+30+30+31+d);
    9: k:= 365- (31+28+31+31+30+31+30+31+d);
    10: k:=365- (31+28+31+31+30+31+31+30+30+d);
    11: k:=365- (31+28+31+31+30+31+31+30+30+31+d);
    12: k:=365- (31+28+31+31+30+31+31+30+31+30+30+d);
    end;
    writeln('До конца года осталось ',k,' дн.');
    end.

    Juris_Kabanis, 03 Марта 2011

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

    +164

    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
    <?php
    // Создаём функцию struktura_array (массив со значениями)
    function struktura_array($mas) {
    //Подсчитываем количество значений в массиве $mas
    $col_el = count($mas);
    //Подсчитываем количество всевозможных вариантов по формуле 2^n – 1, n = $col_el
    $col_zn = pow(2,$col_el)-1;
    
    //Делаем цикл до $i = $col_zn
    for ($i=1; $i <= $col_zn; $i++) {
    //выполняем преобразование числа $i в двоичную систему
     $dlina_i_bin = decbin($i);
    //Дописываем нули в левую часть на длину $col_el
     $zap_str = str_pad($dlina_i_bin, $col_el, "0", STR_PAD_LEFT);
    //Переворачиваем $zap_str
     $zap_dop = strrev($zap_str);
     $dooh = array();
    //Преобразуем $zap_dop в массив вида Array (0=>"0", 1=>"1", 2=>"1", 3=>"0", 4=>"0")
     for($j=0; $j < $col_el; $j++) {
     $dooh[] = $zap_dop[$j];
     }
    //Обнуляем $d и $a чтоб при следующем проходе цикла они были пустыми
     $d = 0; $a = "";
    //Теперь самое интересное
    //Итерируем по массиву $dooh и выдергиваем значения (либо 1 либо 0)
     foreach ($dooh as $k=>$v) {
    //Если выдернули 1 то в массив $a записываем значение с соответствующим ключом
       if ($v == 1) {$a[] .= $mas[$d];}
    //Увеличиваем ключ на единицу для перехода по массиву
       $d++;
     }
     $return[] = $a;
    }
    
    return $return;
    }

    qbasic, 25 Февраля 2011

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

    +173

    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
    void DrawingLibrary::drawText(int x0, int y0, char string[], int strlen, int red, int green, int blue, int alpha) {
    	for(int i = 0; i < strlen; ++i) {
    		char chr = string[i];
    		int sX = x0 + i * 8;
    		// проходимся по символам, рисуя их
    		if(chr == '!') {
    			bool symbol[8][8] = {{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		else if(chr == '"') {
    			bool symbol[8][8] = {{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		else if(chr == '#') {
    			bool symbol[8][8] = {{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,1,1,1,1,1},{0,0,0,0,1,0,1,0},{0,0,0,1,1,1,1,1},{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		/* еще 135 строк такого "кода" */
    		else if(chr == 'э') {
    			bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,1,1,1,0},{0,0,0,0,0,0,0,1},{0,0,0,0,0,1,1,1},{0,0,0,0,0,0,0,1},{0,0,0,0,1,1,1,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		else if(chr == 'ю') {
    			bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,1,0,0,1,0},{0,0,0,1,0,1,0,1},{0,0,0,1,1,1,0,1},{0,0,0,1,0,1,0,1},{0,0,0,1,0,0,1,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		else if(chr == 'я') {
    			bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,1,1,1},{0,0,0,0,1,0,0,1},{0,0,0,0,0,1,1,1},{0,0,0,0,0,1,0,1},{0,0,0,0,1,0,0,1},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    	}
    }

    Функция, рисующая на картинке текст.

    ShitCode, 21 Февраля 2011

    Комментарии (26)
  9. C++ / Говнокод #5712

    +176

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    __forceinline BYTE ClampShortToByte(signed short value)
    {
    	value>255?value=255:( value<0?value=0:NULL );
    
    	return (BYTE)value;
    }

    Kirinyale, 18 Февраля 2011

    Комментарии (26)
  10. C++ / Говнокод #5571

    +164

    1. 1
    i = j ? k : l = m;

    опять же с форума wasm.ru... пол дня объяснял почему с++ компилятор трактует это выражение как i = j ? k : (l = m), а никак по-другому... не пишите такую чушь никогда)

    ReL, 07 Февраля 2011

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

    +137

    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 (c>=0xC0)
                    {c=LCD_Chars[c-0xC0];}
            else
            {
                    if (c==0xA8)
                            {c=0xA2;}
                    else
                            if (c==0xB8)
                                    {c=0xB5;}
                            else
                                    if (c==0xB0)
                                            {c=0xDF;}
            }

    qbasic, 31 Января 2011

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