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

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

    +110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    DirName:=OpenDialog1.FileName;
        i:=Length(Dirname);
        While (i>0) and(Dirname[i]<>'\') do
        begin
          i:=i-1;
        end;
        If Dirname[i]='\' then Dirname:=Copy(Dirname,1,i-1);
        Edit1.Text:=DirName;

    Для определения директории, выбирается в ней файл, абсолютный путь к которому вырезается до первого найденного слеша

    replay, 10 Апреля 2011

    Комментарии (27)
  3. 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

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

    +171

    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
    inExp = function (dig, exp) {
    02.if (exp == 1) return alert(dig);
    03.if (exp == 2) return alert(dig*dig);
    04.if (exp == 3) return alert(dig*dig*dig);
    05.if (exp == 4) return alert(dig*dig*dig*dig);
    06.if (exp == 5) return alert(dig*dig*dig*dig*dig);
    07.if (exp == 6) return alert(dig*dig*dig*dig*dig*dig);
    08.if (exp == 7) return alert(dig*dig*dig*dig*dig*dig*dig);
    09.if (exp == 8 ) return alert(dig*dig*dig*dig*dig*dig*dig*dig);
    10.if (exp == 9) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig);
    11.if (exp == 10) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    12.if (exp == 11) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    13.if (exp == 12) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    14.if (exp == 13) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    15.if (exp == 14) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    16.if (exp == 15) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    17.if (exp == 16) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    18.if (exp == 17) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    19.if (exp == 18) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    20.if (exp == 19) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    21.if (exp == 20) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    22.if (exp == 21) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    23.if (exp == 22) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    24.if (exp == 23) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    25.if (exp == 24) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    26.if (exp == 25) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    27.if (exp == 26) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    28.if (exp == 27) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    29.if (exp == 28) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    30.if (exp == 29) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    31.if (exp == 30) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    32.}

    Боян не? попалось на глаза в блоге каком-то случайно

    vitaly, 24 Марта 2011

    Комментарии (27)
  5. Assembler / Говнокод #6013

    +240

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    lea    0x0(%esi),%esi
    sub    $0x1,%eax
    cmp    $0xffffffff,%eax
    je     0x8048e07
    mov    (%ecx,%eax,4),%esi
    test   %esi,%esi
    je     0x8048df8

    Чудеса оптимизации -О3 на gcc 4.4
    (код в интелловской аннотации, сначала источник, потом назначение)

    SIGSEGV, 17 Марта 2011

    Комментарии (27)
  6. PHP / Говнокод #5877

    +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
    $list_n_price[] = $n_price;
    
    
     
    ?>
    
    
    		<? } ?>
    
    <?
    
    
    
    
    
    for ($n_ar = 0; (count($list) - $n_ar) >= 4; $n_ar +=4) {

    это человек писал ? 0_о

    tranquillity, 03 Марта 2011

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

    +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
    <?
    $text = @file("MySql/base123/reg/$log.dat");		
    $udata = explode(":||:", $text[0]);		
    $udata[100] = round($udata[100] + 1);
    $text = $udata[0] .':||:'. $udata[1] .':||:'. $udata[2] .':||:'. $udata[3] .':||:'. $udata[4] .':||:'. $udata[5] .':||:'. $udata[6] .':||:'. $udata[7] .':||:'. $udata[8] .':||:'. $udata[9] .':||:'. $udata[10] .':||:'. $udata[11] .':||:'. $udata[12] .':||:'. $udata[13] .':||:'. $udata[14] .':||:'. $udata[15] .':||:'. $udata[16] .':||:'. $udata[17] .':||:'. $udata[18] .':||:'. $udata[19] .':||:'. $udata[20] .':||:'. $udata[21] .':||:'. $udata[22] .':||:'. $udata[23] .':||:'. $udata[24] .':||:'. $udata[25] .':||:'. $udata[26] .':||:'. $udata[27] .':||:'. $udata[28] .':||:'. $udata[29] .':||:'. $udata[30] .':||:'. $udata[31] .':||:'. $udata[32] .':||:'. $udata[33] .':||:'. $udata[34] .':||:'. $udata[35] .':||:'. $udata[36] .':||:'. $udata[37] .':||:'. $udata[38] .':||:'. $udata[39] .':||:'. $udata[40] .':||:'. $udata[41] .':||:'. $udata[42] .':||:'. $udata[43] .':||:'. $udata[44] .':||:'. $udata[45] .':||:'. $udata[46] .':||:'. $udata[47] .':||:'. $udata[48] .':||:'. $udata[49] .':||:'. $udata[50] .':||:'. $udata[51] .':||:'. $udata[52] .':||:'. $udata[53] .':||:'. $udata[54] .':||:'. $udata[55] .':||:'. $udata[56] .':||:'. $udata[57] .':||:'. $udata[58] .':||:'. $udata[59] .':||:'. $udata[60] .':||:'. $udata[61] .':||:'. $udata[62] .':||:'. $udata[63] .':||:'. $udata[64] .':||:'. $udata[65] .':||:'. $udata[66] .':||:'. $udata[67] .':||:'. $udata[68] .':||:'. $udata[69] .':||:'. $udata[70] .':||:'. $udata[71] .':||:'. $udata[72] .':||:'. $udata[73] .':||:'. $udata[74] .':||:'. $udata[75] .':||:'. $udata[76] .':||:'. $udata[77] .':||:'. $udata[78] .':||:'. $udata[79] .':||:'. $udata[80] .':||:'. $udata[81] .':||:'. $udata[82] .':||:'. $udata[83] .':||:'. $udata[84] .':||:'. $udata[85] .':||:'. $udata[86] .':||:'. $udata[87] .':||:'. $udata[88] .':||:'. $udata[89] .':||:'. $udata[90] .':||:'. $udata[91] .':||:'. $udata[92] .':||:'. $udata[93] .':||:'. $udata[94] .':||:'. $udata[95] .':||:'. $udata[96] .':||:'. $udata[97] .':||:'. $udata[98] .':||:'. $udata[99] .':||:'. $udata[100] .':||:';
            $fp = fopen("MySql/base123/reg/$log.dat", "a+");
            flock($fp, LOCK_EX);
            ftruncate($fp, 0);
            fputs($fp, "$text");
            fflush($fp);
            flock($fp, LOCK_UN);
            fclose($fp);

    Попался скрипт браузерной игры. Автор - Bishop какой то. Это просто залежи позитива. Второй день ржунимагу.

    twin, 12 Февраля 2011

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

    +152

    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
    $mime_types = array('jad'  => 'text/vnd.sun.j2me.app-descriptor',
                            'jar'  => 'application/java-archive',
                            'txt'  => 'text/plain',
                            'sis'  => 'application/vnd.symbian.install',
                            'cab'  => 'application/vnd.ms-cab-compressed',
                            'zip'  => 'application/x-zip', 
                            'gz'   => 'application/x-gzip',
                            'tgz'  => 'application/x-gzip',
                            'bz'   => 'application/x-bzip', 
                            'bz2'  => 'application/x-bzip',
                            '7z'   => 'application/x-7z-compressed',
                            'rar'  => 'application/x-rar-compressed',
                            'doc'  => 'application/msword',
                            'pdf'  => 'application/pdf', 
                            'mp3'  => 'audio/mpeg', 
                            'wav'  => 'audio/x-wav',
                            'wma'  => 'audio/x-ms-wma',
                            'avi'  => 'video/x-msvideo',
                            '3gp'  => 'video/3gpp', 
                            'wmv'  => 'video/x-ms-wmv', 
                            'mpg'  => 'video/mpeg', 
                            'gif'  => 'image/gif', 
                            'jpg'  => 'image/jpeg',
                            'jpe'  => 'image/jpeg', 
                            'jpeg' => 'image/jpeg',
    	           );
    
    	$mime_type = (array_key_exist(pathinfo($filepath, PATHINFO_EXTENSION), $mime_types)) ? $mime_types[pathinfo($filepath, PATHINFO_EXTENSION)] : 'application/octet-stream';
    		
    	header('Content-Type: ' . $mime_type . ';');
                  header('content-disposition: attachment; filename="' . basename($filepath) . '";');
                  readfile($download);

    Использую сие для определения Content-Type перед отдачей файла для загрузки.
    И тут меня орашарашили тем, что прямо в лицо сказали, что сие - говнокод, а я - говнокодер всея Руси.
    Что такие дела делаются функциями и вообще что за говно, тут можно без массива.
    Неужто?

    7ion, 11 Февраля 2011

    Комментарии (27)
  9. JavaScript / Говнокод #5510

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if($('#month1').attr('value') == 2 || 
    	$('#month2').attr('value') == 2){
    		if($('#day1').attr('value') > 29 || 
    			$('#day2').attr('value') > 29){
    			alert('Неправильная дата');
    			return 0;
    		}
    	}

    Проверка двух дат на 30 февраля.

    regex, 03 Февраля 2011

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

    +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
    $proArray = array();
    while(strlen($result))
    {
    	// name
    	$keypos= strpos($result,'=') ;
    	$keyval = substr($result,0,$keypos);
    	// value
    	$valuepos = strpos($result,'&') ? strpos($result,'&') : strlen($result);
    	$valval = substr($result,$keypos+1,$valuepos-$keypos-1);
    	// decoding the respose
    	$proArray[$keyval] = $valval;
    	$result = substr($result,$valuepos+1,strlen($result));
    }

    Разбор URL-encoded ответа от платёжной системы.
    Знал ли автор про функцию parse_str() ?

    hdkeeper, 28 Января 2011

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $file='spiski.txt';
    $handle = fopen($file, "r");
    while ( $handle == FALSE )
    {
    $handle = fopen($file, "r");
    }

    Метод назойливого открывания файла.

    basename, 19 Января 2011

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