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

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

    +98

    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
    97. 97
    98. 98
    //это как бы сортировка приоритетов
    Try
    Prior1:=StrToInt(Edit1.Text);
    Prior2:=StrToInt(Edit2.Text);
    Prior3:=StrToInt(Edit3.Text);
    Prior4:=StrToInt(Edit4.Text);
    Prior5:=StrToInt(Edit5.Text);
    except
    ShowMessage('Íåâåðíî çàäàíû ïðèîðèòåòû');   exit;
    end;
    min1:=100;
    If prior1<min1 then begin min1:=prior1; nmin1:=1; end;
    If prior2<min1 then begin min1:=prior2; nmin1:=2; end;
    If prior3<min1 then begin min1:=prior3; nmin1:=3; end;
    If prior4<min1 then begin min1:=prior4; nmin1:=4; end;
    If prior5<min1 then begin min1:=prior5; nmin1:=5; end;
    min2:=100;
    If (prior1<min2)and(prior1>min1) then begin min2:=prior1; nmin2:=1; end;
    If (prior2<min2)and(prior2>min1) then begin min2:=prior2; nmin2:=2; end;
    If (prior3<min2)and(prior3>min1) then begin min2:=prior3; nmin2:=3; end;
    If (prior4<min2)and(prior4>min1) then begin min2:=prior4; nmin2:=4; end;
    If (prior5<min2)and(prior5>min1) then begin min2:=prior5; nmin2:=5; end;
    min3:=100;
    If (prior1<min3)and(prior1>min2) then begin min3:=prior1; nmin3:=1; end;
    If (prior2<min3)and(prior2>min2) then begin min3:=prior2; nmin3:=2; end;
    If (prior3<min3)and(prior3>min2) then begin min3:=prior3; nmin3:=3; end;
    If (prior4<min3)and(prior4>min2) then begin min3:=prior4; nmin3:=4; end;
    If (prior5<min3)and(prior5>min2) then begin min3:=prior5; nmin3:=5; end;
    min4:=100;
    If (prior1<min4)and(prior1>min3) then begin min4:=prior1; nmin4:=1; end;
    If (prior2<min4)and(prior2>min3) then begin min4:=prior2; nmin4:=2; end;
    If (prior3<min4)and(prior3>min3) then begin min4:=prior3; nmin4:=3; end;
    If (prior4<min4)and(prior4>min3) then begin min4:=prior4; nmin4:=4; end;
    If (prior5<min4)and(prior5>min3) then begin min4:=prior5; nmin4:=5; end;
    min5:=100;
    If (prior1<min5)and(prior1>min4) then begin min5:=prior1; nmin5:=1; end;
    If (prior2<min5)and(prior2>min4) then begin min5:=prior2; nmin5:=2; end;
    If (prior3<min5)and(prior3>min4) then begin min5:=prior3; nmin5:=3; end;
    If (prior4<min5)and(prior4>min4) then begin min5:=prior4; nmin5:=4; end;
    If (prior5<min5)and(prior5>min4) then begin min5:=prior5; nmin5:=5; end;
    
    //далее горы подобного кода (где-то 20-30 страниц):
    hile t<=60 do begin
    Application.ProcessMessages;
    
    t:=t+1;
    Sleep(100);
    
        If nmin1=1 then begin
    
        If t-tpi1=t1 then begin
        i1:=i1+1;
        datetime:=now;
    x1:=random(311)/10+29+random(10)/10;
    table1.Insert;
    table1.FieldByName('znachenie').AsFloat:=x1;
    table1.FieldByName('datchik').AsInteger:=1;
    table1.FieldByName('oshibka').AsBoolean:=False;
    table1.FieldByName('krit').AsBoolean:=False;
    table1.FieldByName('DateTime').AsDateTime:=Datetime;
    series1.AddXY(i1, x1, '',clred);
    if (x1>60)or(x1<30) then
    begin
    table1.FieldByName('oshibka').AsBoolean:=True;
      if (x1>60.5)or(x1<29.5) then begin
      table1.FieldByName('krit').AsBoolean:=True;
      Label1.Visible:=True;
      end;
    end;
    table1.Post;
    tpi1:=t;
    end; //end if
    
    end;
    If nmin1=2 then begin
    
       If t-tpi2=t2 then begin
       i2:=i2+1;
       datetime:=now;
    x2:=random(211)/10+9+random(10)/10;
    table1.Insert;
    table1.FieldByName('znachenie').AsFloat:=x2;
    table1.FieldByName('datchik').AsInteger:=2;
    table1.FieldByName('oshibka').AsBoolean:=False;
    table1.FieldByName('krit').AsBoolean:=False;
    table1.FieldByName('DateTime').AsDateTime:=Datetime;
    series2.AddXY(i2, x2, '',clgreen);
    if (x2>30)or(x2<10) then
    begin
    table1.FieldByName('oshibka').AsBoolean:=True;
      if (x2>30.5)or(x2<9.5) then begin
      table1.FieldByName('krit').AsBoolean:=True;
      Label1.Visible:=True;
      end;
    end;
    table1.Post;
    tpi2:=t;
    end;

    курсовая работа одного студента (идущего на красный диплом, кстати)

    GovnocoderJr, 25 Мая 2010

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

    +1005

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #define KB * 1024
    #define MB KB KB
    #define GB MB KB
    #define TB GB KB
    
    int main( ... )
    {
       char * arr = new char [16 MB];
       ...
    }

    k06a, 14 Мая 2010

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

    +109

    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
    private void timer1_Tick(object sender, EventArgs e)
    
            {
    
                Process[] myP = Process.GetProcessesByName("TASKMGR");
    
                foreach (Process p in myP)
    
                {
    
                    p.CloseMainWindow();
    
                }
    
            }

    Защита! Чтобы студенты не махлевали. Программа закрывается только вводом пароля. Таймер хуярит форму все время поверх всех окон и люто ненавидит все, что похоже на "диспетчер задач"...

    Anderson, 13 Мая 2010

    Комментарии (22)
  5. ActionScript / Говнокод #3203

    −86

    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 (event.customerName != "")
    {
    	criteria.xmlCriteria =
    		"<criteria>" +
    		"<billingDetailsName>" + event.customerName + "</billingDetailsName>" +
    		"</criteria>";
    }
    else
    {
    	criteria.xmlCriteria =
    		"<criteria>" +
    		"</criteria>";
    }

    voice, 12 Мая 2010

    Комментарии (22)
  6. C++ / Говнокод #3196

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /********************************************************************
    ОПЕРАЦИЯ ЛОГИЧЕСКОЕ ИСКЛЮЧАЮЩЕЕ ИЛИ
    ********************************************************************/
    static inline bool XOR(bool lhs, bool rhs)
    {
        return (lhs && !rhs) || ( !lhs && rhs);
    }

    Человек не знал, что есть стандартный xor...

    m08pvv, 11 Мая 2010

    Комментарии (22)
  7. Си / Говнокод #3136

    +135

    1. 1
    while( (*(curr_pos++) != 0x0a) && ((UINT)curr_pos - (UINT)buffer < (UINT)length) );

    Ищем новую строку

    dokonvog, 30 Апреля 2010

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

    +899.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    char *z="group=";
    char *x="end group\n";
    char *text=new char[sizeof(z)+sizeof(x)+sizeof(groupName)+1];
    strcat(text, z);
    strcat(text, groupName);
    strcat(text, "\n");
    strcat(text, x);

    Нашел в исходниках одного менеджера паролей. Вот как надо формировать строки.

    hromjo, 18 Апреля 2010

    Комментарии (22)
  9. Ruby / Говнокод #3029

    −100.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
    def ordinalize_ru integer
      postfix = case integer
        when 0 then 'ой'
        when 2 then 'ой'
        when 3 then 'ий'
        when 6 then 'ой'
        when 7 then 'ой'
        when 8 then 'ой'
        else 'й'
      end
      [ integer, postfix ].join '-'
    end

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

    eveel, 17 Апреля 2010

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

    +905.2

    1. 1
    2. 2
    3. 3
    4. 4
    if ( tmp - res == 11 )
    {
    tmp = tmp;
    }

    Нашел в проэкте сегодня. Кто отгадает, зачем этот код был нужен - тому ничего не будет.

    phizik, 14 Апреля 2010

    Комментарии (22)
  11. Pascal / Говнокод #2949

    +92.8

    1. 1
    2. 2
    3. 3
    4. 4
    // Я приводить пример кода не буду, т.к. он давно исправлен и остался только в памяти и SVN-е,
    // но вполне реальный человек захуячил такое:
    // В событии OnPaint таблицы происходил запрос к БД, чтоб узнать, какой именно текст надо отрисовывать.
    // Очень весело было изменять размеры формы и наблюдать, с какой скоростью увеличивается лог-файл xDDD

    Arch, 07 Апреля 2010

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