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

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

    +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
    include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто    измените путь  
              $result4 =    mysql_query    ("SELECT avatar FROM    users WHERE activation='0'    AND    UNIX_TIMESTAMP()    - UNIX_TIMESTAMP(date)    > 3600");//извлекаем аватарки тех пользователей, которые в    течении часа не активировали свой аккаунт. Следовательно их надо удалить из    базы, а так же и файлы их аватарок
     if    (mysql_num_rows($result4) > 0) {
                $myrow4    = mysql_fetch_array($result4);  
                do 
                {
    
                //удаляем    аватары в цикле, если они не стандартные
                if    ($myrow4['avatar'] == "avatars/net-avatara.jpg") {$a = "Ничего    не делать";}
                else    {
                         unlink ($myrow4['avatar']);//удаляем    файл
                         }
                }
    
                while($myrow4    = mysql_fetch_array($result4));
                }

    Вот как учат детей программировать там http://ruseller.com/lessons.php?rub=37&id=369

    просто умер от этого while($myrow4 = mysql_fetch_array($result4));

    Vasiliy, 10 Июля 2010

    Комментарии (60)
  3. JavaScript / Говнокод #3632

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    // Remove empty tags (three times, just to be sure).
    html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
    html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
    html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;

    найдено в коде FCKEditor - редактора для веб-интерфейса

    mozg_raka, 02 Июля 2010

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

    +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
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       bool Valid = true;
       bool f1;
       bool f2;
       unsigned step = 0;
       for( bool x1=false; x1<2; x1++ )
          for( bool x2=false; x2<2; x2++ )
             for( bool x3=false; x3<2; x3++ )
                for( bool x4=false; x4<2; x4++ )
                   for( bool x5=false; x5<2; x5++ )
                      for( bool x6=false; x6<2; x6++ )
                         for( bool x7=false; x7<2; x7++ )
                            for( bool x8=false; x8<2; x8++ )
                               for( bool x9=false; x9<2; x9++ )
                                  for( bool x10=false; x10<2; x10++ )
                                     for( bool x11=false; x11<2; x11++ )
                                        for( bool x12=false; x12<2; x12++ )
                                           for( bool x13=false; x13<2; x13++ )
                                              for( bool x14=false; x14<2; x14++ )
                                                 for( bool x15=false; x15<2; x15++ )
                                                 {
       step++;                                             
       f1 = ( x1 && x2 || x3 && x4 || x5 && x6 && x7 || x8 && x9 && x10 ) && ( !x11 || x12 && x13 || x14 && x15 );
       f2 = (!(!x1 || !x2) || !(!x3 || !x4) || !(!x5 || !x6 || !x7) || !(!x8 || !x9 || !x10)) && ( !(!x14 || !x15) || !x11 || !(!x12 || !x13) );
       if ( f1 != f2 ) Valid = false; break;
                                                 }
       if( Valid ) Application->MessageBox( "Функции идентичны", "Функции идентичны", MB_OK );
       else Application->MessageBox( "NOT Valid", IntToStr(step).c_str(), MB_OK );
    
    }

    Проверка идентичности логических функций путем перебора аргументов.

    absolut, 19 Мая 2010

    Комментарии (60)
  5. C# / Говнокод #3226

    +119

    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
    private static bool TryDeleteFile(string path)
            {
                try
                {
                    File.Delete(path);
                    return true;
                }
                catch (IOException e)
                {
                    return false;
                }
                catch (UnauthorizedAccessException e)
                {
                    return false;
                }
                catch (ArgumentException ae)
                {
                    return false;
                }
                catch (NotSupportedException e)
                {
                    return false;
                }
            }

    Простое удаление файла. Простая проверка в MSDN показывает, что перехватываются все возможные исключения

    gopher, 14 Мая 2010

    Комментарии (60)
  6. Assembler / Говнокод #2252

    +243.6

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    format ELF
    
    
    include 'macros.inc'
    
    
    public main
    
    
    extrn printf
    extrn puts
    extrn exit
    extrn strtok
    extrn getenv
    extrn strcmp
    extrn strtol
    extrn strcpy
    ; Функции для общения с БД
    extrn get_version ; ремейк на mysql_get_client_info()
    extrn get_product_by_single_name_ex
    
    CGI_HEADER db "Content-Type: text/html", 13,10, "X-Powered-by: FASM (Flat Assembler 1.68)",13,10,0
    QUERY_STRING db ?
    REQUEST_METHOD db ?
    
    	query_str_env_req	db	"QUERY_STRING", 0
    	request_method_env_req	db	"REQUEST_METHOD", 0	
    	RM_GET db "GET", 0
    	RM_POST db "POST",0
    
    NO_ACTION_ERROR_MSG db "No action", 0
    
    
    
    q_token db "="
    r_token db "&"
    
    
    ; Константы ACTION
    	AC_VERSION equ 0; Инфа о версии и копирайте
    
    	AC_PRODUCT_ID_BY_SINGLE_NAME equ 1; ID продукта по полному совпадению имени
    	
    
    section '.text' executable
    _start:
    
    	main:
    	ccall puts, CGI_HEADER
    	ccall getenv, request_method_env_req
    	push eax
    	;c
    	xor eax, eax
    	pop eax
    	ccall strcmp, eax, RM_GET ; TODO: ЗМЕНИТЬ НА POST!!!1111
    	cmp eax, 0
    	jne quit
    	
    	;Что прислали в Action. ( ТОЛЬКО GET )
    	
    	ccall getenv, query_str_env_req
    	ccall strcpy, QUERY_STRING, eax
    	ccall strtok, QUERY_STRING, q_token
    	push eax
    	ccall strcmp, eax, "act"
    	cmp eax, 0
    	jne no_act
    	je act
    no_act:
    	ccall puts, NO_ACTION_ERROR_MSG
    	jmp quit
    act:
    	
    	
    	; Узнаём, что за опция в act
    	pop eax;
    	ccall strtok, 0, q_token
    	ccall strtol, eax, 0, 10
    	cmp eax, AC_VERSION
    	je version_put
    	cmp eax, AC_PRODUCT_ID_BY_SINGLE_NAME
    	je product_id_by_single_name
    	jne quit
    
    version_put:
    	; версия - из mysql
    	ccall puts, "Web kernel v0.1. (c) 2009 by Sergei V. Adoniew ( [email protected] ) with MySQL: "
    	ccall get_version
    	ccall puts, eax
    	jmp quit
    
    product_id_by_single_name:
    
    	
    	;НА Входе: name=%docname%
    	;НА Выходе id
    	
    	; дробим строку на a=b разделителем &
     	ccall getenv, "QUERY_STRING"
    	;у нас в eax вся строка

    Собственный пьяный высер на фасме ( FASM ).

    Обратить внимание на ветвление:)

    AlDjabad, 09 Декабря 2009

    Комментарии (60)
  7. C++ / Говнокод #1852

    +55.5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    class cCar: public GAMEPLAYER::cPlayerRef, public cScrObject,
    	public IspSetOnParkingPlace<GAMEPLAYER::cCar>, 
    	public IspCheckLoadedState<GAMEPLAYER::cCar>,
    //	public IspUseInitialPositioning<GAMEPLAYER::cCar>,
    	public IspSetVelocity<GAMEPLAYER::cCar>,
    	public IspTracetoPosition<GAMEPLAYER::cCar>,
    	public IspChangeVehicle<GAMEPLAYER::cCar>,
    	public IspChasePlayer<GAMEPLAYER::cCar>,
    	public IspRaceParamsPlayer<GAMEPLAYER::cCar>,
    	public IcallbackParked<GAMEPLAYER::cCar>,
    	public ALTERNATIVEK::cstore_this<GAMEPLAYER::cCar>
    { //... дальше не интересно

    Вот такой суровый cCar :)

    generalgda, 16 Сентября 2009

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

    +1

    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
    Функция СоответствиеСодержитКлюч(Соответствие, Ключ)
        
        Если НЕ Соответствие[Ключ] = Неопределено Тогда
            Возврат Истина;
        КонецЕсли;
        
        КоличествоЭлементов = Соответствие.Количество();
        Соответствие.Удалить(Ключ);
        
        Если КоличествоЭлементов = Соответствие.Количество() Тогда
            Возврат Ложь;
        КонецЕсли;
        
        Соответствие.Вставить(Ключ);
        Возврат Истина;
        
    КонецФункции

    Как тебе такое Илон (зачеркнуто) Нуралиев?!

    hujaboy, 16 Мая 2023

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    unsigned mul(unsigned a, unsigned b)
    {
     char arr[a][b];
     return &arr[a][b] - (char *)arr;
    }

    Умножение через VLA

    j123123, 09 Августа 2022

    Комментарии (59)
  10. JavaScript / Говнокод #27519

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    /* В отдельном файле */
    function Skif_Email(auth,em) {
    	em = em.substring(3,em.length-3);
    	auth = auth.substring(4,auth.length-4);
    	document.write('<a href="mailto:',em,'" title="Защищён от спам-роботов">',auth,'</a>');
    }
    
    /* На странице */
    
    <script type="text/javascript">Skif_Email('[email protected]', '[email protected]');</script>

    Какая защита )))

    HEu3BECTHblu_nemyx, 16 Июля 2021

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

    0

    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
    function main()
    {
    	assert(false, "defl0");
    }
    
    // получаетм MLIR tsc.exe --emit=mlir C:\temp\2.ts
    
    module  {
      func @main() {
        %false = constant false
        typescript.assert %false, "defl0"
        return
      }
    }
    
    // или MLIR-LLVM
    
    module  {
      llvm.mlir.global internal constant @f_7029868395233414505("C:\\temp\\2.ts\00")
      llvm.mlir.global internal constant @m_964876063036005986("defl0\00")
      llvm.func @_assert(!llvm.ptr<i8>, !llvm.ptr<i8>, i32)
      llvm.func @main() {
        %0 = llvm.mlir.constant(false) : i1
        llvm.cond_br %0, ^bb1, ^bb2
      ^bb1:  // pred: ^bb0
        llvm.return
      ^bb2:  // pred: ^bb0
        %1 = llvm.mlir.addressof @m_964876063036005986 : !llvm.ptr<array<6 x i8>>
        %2 = llvm.mlir.constant(0 : index) : i64
        %3 = llvm.getelementptr %1[%2, %2] : (!llvm.ptr<array<6 x i8>>, i64, i64) -> !llvm.ptr<i8>
        %4 = llvm.mlir.addressof @f_7029868395233414505 : !llvm.ptr<array<13 x i8>>
        %5 = llvm.mlir.constant(0 : index) : i64
        %6 = llvm.getelementptr %4[%5, %5] : (!llvm.ptr<array<13 x i8>>, i64, i64) -> !llvm.ptr<i8>
        %7 = llvm.mlir.constant(5 : i32) : i32
        llvm.call @_assert(%3, %6, %7) : (!llvm.ptr<i8>, !llvm.ptr<i8>, i32) -> ()
        llvm.unreachable
      }
    }
    
    // переводим в LLVM mlir-translate.exe --mlir-to-llvmir -o=out.il 1.mlir и получаем полный абзец
    
    ; ModuleID = 'LLVMDialectModule'
    source_filename = "LLVMDialectModule"
    
    @m_15759024501200700639 = internal constant [6 x i8] c"defl2\00"
    @f_7029868395233414505 = internal constant [13 x i8] c"C:\\temp\\2.ts\00"
    @m_9918845950589312633 = internal constant [6 x i8] c"defl0\00"
    
    declare i8* @malloc(i64)
    
    declare void @free(i8*)
    
    declare void @_assert(i8*, i8*, i32)
    
    define void @main() !dbg !3 {
      br i1 false, label %1, label %3, !dbg !7
    
    1:                                                ; preds = %0
      br i1 false, label %2, label %4, !dbg !9
    
    2:                                                ; preds = %1
      ret void, !dbg !10
    
    3:                                                ; preds = %0
      call void @_assert(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @m_9918845950589312633, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @f_7029868395233414505, i64 0, i64 0), i32 5), !dbg !11
      unreachable, !dbg !12
    
    4:                                                ; preds = %1
      call void @_assert(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @m_15759024501200700639, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @f_7029868395233414505, i64 0, i64 0), i32 12), !dbg !13
      unreachable, !dbg !14
    }
    
    // компилим это говно и получаем EXE
    // llc.exe --filetype=obj -o=out.o out.il
    // lld.exe -flavor link out.o "libcmt.lib" "libvcruntime.lib" "kernel32.lib" "libucrt.lib" "uuid.lib" 
    // запускаем и вуаля
    
    // Output:
    // Assertion failed: defl0, file C:\temp\2.ts, line 5

    продолжаем говнокодить. что получается из одной строчки после компиляции когда в TypeScript (компайлером)

    ну все сказанно в говнокоде

    ASD_77, 02 Февраля 2021

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