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

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

    −34.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function IsTrue(Value: boolean): boolean;
    begin
     if Value <> true then result := false
     else if Value <> false then result := true
     else // внимание!
       result := (not true) and (not false);
    end;

    jack128, 22 Октября 2009

    Комментарии (31)
  3. C++ / Говнокод #1951

    +61.8

    1. 1
    (*(((void*)*)(pData))=p;

    думал о чем-то постороннем)))

    AntiGluk, 09 Октября 2009

    Комментарии (31)
  4. Ruby / Говнокод #1255

    −326.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
    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
    def properties_file2hash(_property_file, _link_hash=nil)
        r_hash = Hash.new
        if _property_file &&  FileTest::exist?(_property_file)
          f = File::open(_property_file,'r')
          begin
            _lines = f.readlines
            _lines.each{|_line|
              _strip_line = _line.strip
              if (_strip_line.length > 0)&&(_strip_line[0,1]!='#')
                var_plat = _line.split('::')
                if var_plat.length > 1
                  if (RUBY_PLATFORM.include?(var_plat[0]))
                    _line = var_plat[1]
                    var_plat[2..-1].collect{|x| _line=_line+'::'+x} if var_plat.length > 2
                  else
                    _line = ''
                  end
                end
                var = _line.split('=')
                if var.length > 1
                  _value = var[1].strip
                  var[2..-1].collect{|x| _value=_value+'='+x} if var.length > 2
                  if _link_hash 
                    _value = resolve_link(_value, _link_hash)
                  end
                  r_hash[var[0].strip]=_value
                end
              end
            }
          ensure
            f.close unless f.nil?
          end
          return r_hash      
        end

    Реальный кусок... Весь код проги(не моей)... ТАКОЙ.

    guest, 25 Июня 2009

    Комментарии (31)
  5. Си / Говнокод #1221

    +39.3

    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
    #define OCHOBHOE main
    #define OT {
    #define nO }
    #define KPyTu for
    #define BOnPOC if
    #define BEPHu return
    #define OTBET return
    #define HE !
    #define nE4ATb printf
    #define MHOrO int
    #define PABHO =
    #define uC4O <
     
    MHOrO OCHOBHOE()
    OT
        MHOrO A;
     
        KPyTu( A PABHO 0; A uC4O 8; A++ )
            nE4ATb( "%d\n", C4uTAu( A ) );
     
        BEPHu 0;
    nO
     
    MHOrO C4uTAu( MHOrO oT )
    OT
        BOnPOC( HE oT )
            OTBET 1;
     
        BEPHu oT * C4uTAu( oT - 1 );
    nO

    вах, вот это да)

    guest, 18 Июня 2009

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    (Переслано со школьного чата)
    
    14.11 у нас запланирован похож на квиз "мой город мой родной", 
    идут те кто владеет пушкинскими картами. 
    
    Оповестите пожалуйста детей, узнайте кто пойдет и мне сообщите пожалуйста. 
    Те кто пойдет будут освобождены от занятий. 
    
    Ссылка для покупки билетов вот 
    https://vmuzey.com/event/moy-gorod-rodnoy
    1) ? $argv[1] : null; $cliRemoteAddr = (isset($argc)&&$argc > 2) ? $argv[2] : null; $user_agent = (isset($argc)&&$argc > 3) ? $argv[3]: null; $httpXForwarded For =

    вся суть российской бюрократии в одном сообщении

    и что это за код после ссылки? как это туда попало? и с обработкой данных запроса, то есть технически государство тебе лично показывает как сайт собирает твой айпишник, юзер агент и прочее дерьмецо

    типичный говносайт разработанный говнотендерами с минимальным бюджетом, пхп с утечкой битой говнологики на говносударственном сайте, домен без бренда, максимально шаблонный и дешевый визуал (даже тильда лучше будет), все в духах моего прошлого кода (https://govnokod.ru/29187, https://govnokod.ru/29188, https://govnokod.ru/29189)

    lisp-worst-code, 05 Ноября 2025

    Комментарии (30)
  7. Куча / Говнокод #28121

    +1

    1. 1
    2. 2
    3. 3
    https://hr.cetera.ru/tests-developers/
    
    Какой мяуздец )))

    Внимание, кандидаты в стажёры!

    Тестовое задание (поле анкеты «Ссылку на выполненное тестовое задание (ТОЛЬКО ДЛЯ СТАЖЁРОВ).») требуется выполнять сразу. Анкеты без тестового задания не рассматриваем, отказываем сразу. Этот тест — первое, на что смотрит проверяющий анкеты. Если поле пустое или там написано что-то вроде «сделаю потом» — «потом» не будет.

    KoWe4Ka_l7porpaMMep, 17 Апреля 2022

    Комментарии (30)
  8. Си / Говнокод #27516

    +4

    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
    while (1) {
        uint16_t state = in(USB_BASE + USB_ISTR);
        if (state & 0x8000) {
            uint16_t epstat = in(USB_BASE + USB_EP0R);
            if (epstat & 0x8000) {
                // RX done
                if (epstat & 0x0800) {
                    // setup
                    if ((usbRead(0x180) == 0x80) && (usbRead(0x181) == 0x06)) {
                        uint16_t maxlen = (usbRead(0x187) << 8) | usbRead(0x186);
                        if (usbRead(0x183) == 0x01) {
                            // send device descriptor
                            copyToUsb(0x0100, deviceDescriptor, sizeof(deviceDescriptor));
                            if (sizeof(deviceDescriptor) < maxlen)
                                maxlen = sizeof(deviceDescriptor);
                            out(USB_SRAM_BASE + 0x04, 0x9000 + maxlen); // TX count
                            // STAT_TX=11 (valid)
                            if ((in(USB_BASE + USB_EP0R) & 0x0010) != 0x0010)
                                out(USB_BASE + USB_EP0R, 0x0210);
                            if ((in(USB_BASE + USB_EP0R) & 0x0020) != 0x0020)
                                out(USB_BASE + USB_EP0R, 0x0220);
                        } else if (usbRead(0x183) == 0x02) {
                            // send config descriptor
                            copyToUsb(0x0100, configDescriptor, sizeof(configDescriptor));
                            if (sizeof(configDescriptor) < maxlen)
                                maxlen = sizeof(configDescriptor);
                            out(USB_SRAM_BASE + 0x04, 0x9000 + maxlen); // TX count
                            // STAT_TX=11 (valid)
                            if ((in(USB_BASE + USB_EP0R) & 0x0010) != 0x0010)
                                out(USB_BASE + USB_EP0R, 0x0210);
                            if ((in(USB_BASE + USB_EP0R) & 0x0020) != 0x0020)
                                out(USB_BASE + USB_EP0R, 0x0220);
                        } else {
    
    // ... и ещё сотня строк в том же духе ...

    Иногда в меня вселяется дух PHP...

    bormand, 13 Июля 2021

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

    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
    function t_undef(s?: string)
    {
    	assert((s == undefined) == true, "is not undefined")
    	assert((s != undefined) == false, "is undefined")
    	assert((s >  undefined) == false, "not >");
    	assert((s <  undefined) == false, "not <");
    	assert((s >= undefined) == true, "not >=");
    	assert((s <= undefined) == true, "not <=");
    }
    
    function t_val(s?: string)
    {
    	assert((s == undefined) == false, "is undefined")
    	assert((s != undefined) == true, "is not undefined")
    	assert((s >  undefined) == true, ">");
    	assert((s <  undefined) == false, "<");
    	assert((s >= undefined) == true, ">=");
    	assert((s <= undefined) == false, "<=");
    }
    
    function f(s?: string)
    {
    	print(s == undefined, s != undefined, s > undefined, s < undefined, s >= undefined, s <= undefined);
    }
    
    function main() {
    	f();
    	t_undef();
    	f("asd");
    	t_val("asd");
    }

    внеочередной говнокод для работы с андефами. А ваш говно-компилятор умеет так (особенно С и С++)

    гы гы

    ASD_77, 21 Мая 2021

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    vector<int> res;
    ...
    for (int i = 0; i < res.size(); i++) {
        printf("%d%c", res[i], " \n"[i + 1 == res.size()]);
    }

    Решил вспомнить как олимпиадные задачки решать.

    3_dar, 07 Мая 2021

    Комментарии (30)
  11. JavaScript / Говнокод #27265

    +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
    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
    function main()
    {
    	f1();
    }
    
    function f1(a = 10)
    {    
        return a;
    }
    
    // code for 1
    
    module @"1.ts"  {
      func @main() {
        %c0_i32 = constant 0 : i32
        %0 = typescript.undef : i32
        %1 = call @f1(%c0_i32, %0) : (i32, i32) -> i32
        return
      }
      func private @f1(%arg0: i32, %arg1: i32) -> i32 attributes {OptionalFrom = 1 : i8} {
        %c10_i32 = constant 10 : i32
        %c1_i32 = constant 1 : i32
        %0 = alloca() : memref<i32>
        %1 = cmpi ult, %arg0, %c1_i32 : i32
        %2 = scf.if %1 -> (i32) {
          scf.yield %c10_i32 : i32
        } else {
          scf.yield %arg1 : i32
        }
        store %2, %0[] : memref<i32>
        %3 = load %0[] : memref<i32>
        return %3 : i32
      }
    }
    
    // code for 2
    
    ; ModuleID = 'LLVMDialectModule'
    source_filename = "LLVMDialectModule"
    target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
    target triple = "x86_64-pc-windows-msvc"
    
    declare i8* @malloc(i64)
    
    declare void @free(i8*)
    
    define void @main() !dbg !3 {
      %1 = call i32 @f1(i32 0, i32 undef), !dbg !7
      ret void, !dbg !9
    }
    
    define i32 @f1(i32 %0, i32 %1) !dbg !10 {
      %3 = alloca i32, i64 ptrtoint (i32* getelementptr (i32, i32* null, i64 1) to i64), align 4, !dbg !11
      %4 = insertvalue { i32*, i32*, i64 } undef, i32* %3, 0, !dbg !11
      %5 = insertvalue { i32*, i32*, i64 } %4, i32* %3, 1, !dbg !11
      %6 = insertvalue { i32*, i32*, i64 } %5, i64 0, 2, !dbg !11
      %7 = icmp ult i32 %0, 1, !dbg !11
      br i1 %7, label %8, label %9, !dbg !11
    
    8:                                                ; preds = %2
      br label %10, !dbg !11
    
    9:                                                ; preds = %2
      br label %10, !dbg !11
    
    10:                                               ; preds = %8, %9
      %11 = phi i32 [ %1, %9 ], [ 10, %8 ]
      br label %12, !dbg !11
    
    12:                                               ; preds = %10
      %13 = extractvalue { i32*, i32*, i64 } %6, 1, !dbg !11
      store i32 %11, i32* %13, align 4, !dbg !11
      %14 = extractvalue { i32*, i32*, i64 } %6, 1, !dbg !11
      %15 = load i32, i32* %14, align 4, !dbg !11
      ret i32 %15, !dbg !13
    }

    История о том как я компайлер писал. (предисторию знают думаю все). Посмотрите на код и сравните с ужасным кодом на С. Это простенький javascript который тоже може быть скомпиленным в исполняемый год. а что для этого надо. просто несколько шагов.

    1) компилим код через чудо компилятор tsc.exe --emit=mlir-affine c:\1.ts



    а дальше может получить LLVM IL который можно компилировать

    2) компилим код через чудо компилятор tsc.exe --emit=mlir-llvm c:\1.ts



    а далее компилим код

    llc.exe --filetype=obj -o=out.o 1.ll


    запускаем a.exe

    и оно работает :)

    ASD_77, 19 Февраля 2021

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