1. Си / Говнокод #4423

    +135

    1. 1
    2. 2
    3. 3
    do {
                     data = get_stat();
            } while ((data & (1 << stat_smth_ok_bit_n)) != (1 << stat_smth_ok_bit_n));

    Суровый педантичный немецкий код.

    minixoid, 22 Октября 2010

    Комментарии (25)
  2. PHP / Говнокод #4422

    +166

    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
    /*
         * return practices for degree level subject
         * return object
        */
        public static function getDegree_level_subject_practice($degree, $level_id, $subject) {
            return array(
                    array(
                            'practice_id'=> 1,
                            'logo' =>'what.png',
                            'target' => 'Get 500 FPP',
                            'complete'=> rand(10, 100)
                    ),
                    array(
                            'practice_id'=> 2,
                            'logo' =>'what.png',
                            'target' => 'Get 500 FPP',
                            'complete'=> rand(10, 100)
                    )
            );
    
        }

    как то печально что-ли

    KiMindfreak, 22 Октября 2010

    Комментарии (92)
  3. Perl / Говнокод #4421

    −120

    1. 1
    print qq(<div id="Layer26" class="blank" style="left:170mm; top:96mm; width:95mm;">$base1[17]);

    Верстаем в миллиметрах, используем магические числа и т.п.

    hdkeeper, 22 Октября 2010

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

    +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
    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
    99. 99
    //FIXME: В этот код лучше не смотреть. Он крайне еретический, но работает. На досуге переписать по-человечески
    
    $_1_2[1]="одна ";
    $_1_2[2]="две ";
    $GLOBALS['_1_2'] = $_1_2;
    
    $_1_19[1]="один ";
    $_1_19[2]="два ";
    $_1_19[3]="три ";
    $_1_19[4]="четыре ";
    $_1_19[5]="пять ";
    $_1_19[6]="шесть ";
    $_1_19[7]="семь ";
    $_1_19[8]="восемь ";
    $_1_19[9]="девять ";
    $_1_19[10]="десять ";
    
    $_1_19[11]="одиннацать ";
    $_1_19[12]="двенадцать ";
    $_1_19[13]="тринадцать ";
    $_1_19[14]="четырнадцать ";
    $_1_19[15]="пятнадцать ";
    $_1_19[16]="шестнадцать ";
    $_1_19[17]="семнадцать ";
    $_1_19[18]="восемнадцать ";
    $_1_19[19]="девятнадцать ";
    $GLOBALS['_1_19'] = $_1_19;
    
    $des[2]="двадцать ";
    $des[3]="тридцать ";
    $des[4]="сорок ";
    $des[5]="пятьдесят ";
    $des[6]="шестьдесят ";
    $des[7]="семьдесят ";
    $des[8]="восемдесят ";
    $des[9]="девяносто ";
    $GLOBALS['des'] = $des;
    
    $hang[1]="сто ";
    $hang[2]="двести ";
    $hang[3]="триста ";
    $hang[4]="четыреста ";
    $hang[5]="пятьсот ";
    $hang[6]="шестьсот ";
    $hang[7]="семьсот ";
    $hang[8]="восемьсот ";
    $hang[9]="девятьсот ";
    $GLOBALS['hang'] = $hang;
    
    $namerub[1]="рубль ";
    $namerub[2]="рубля ";
    $namerub[3]="рублей ";
    $GLOBALS['namerub'] = $namerub;
    
    $nametho[1]="тысяча ";
    $nametho[2]="тысячи ";
    $nametho[3]="тысяч ";
    $GLOBALS['nametho'] = $nametho;
    
    $namemil[1]="миллион ";
    $namemil[2]="миллиона ";
    $namemil[3]="миллионов ";
    $GLOBALS['namemil'] = $namemil;
    
    $namemrd[1]="миллиард ";
    $namemrd[2]="миллиарда ";
    $namemrd[3]="миллиардов ";
    $GLOBALS['namemrd'] = $namemrd;
    
    $kopeek[1]="копейка ";
    $kopeek[2]="копейки ";
    $kopeek[3]="копеек ";
    $GLOBALS['kopeek'] = $kopeek;
    
    
    function semantic($i,&$words,&$fem,$f){
        $_1_2 = $GLOBALS['_1_2'];
    	$_1_19 = $GLOBALS['_1_19'];
    	$des = $GLOBALS['des'];
    	$hang = $GLOBALS['hang'];
    	$namerub = $GLOBALS['namerub'];
    	$nametho = $GLOBALS['nametho'];
    	$namemil = $GLOBALS['namemil'];
    	$namemrd = $GLOBALS['namemrd'];
        $words="";
        $fl=0;
        if($i >= 100){
            $jkl = intval($i / 100);
            $words.=$hang[$jkl];
            $i%=100;
        }
        if($i >= 20){
            $jkl = intval($i / 10);
            $words.=$des[$jkl];
            $i%=10;
            $fl=1;
        }
        switch($i){
            case 1: $fem=1; break;

    Нашел в коде нашего интернет проекта

    madiedinro, 22 Октября 2010

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

    +159

    1. 1
    <a href="<?=$res["URL"]?>" style="font-size: <?=$res["FONT_SIZE"]?>px; color: #<?=$res["COLOR"]?>;px" rel="nofollow"><?=$res["NAME"]?></a>

    Битрикс, компонент "Облако тэгов"
    Последний "px" в тэге style явно лишний.

    hdkeeper, 22 Октября 2010

    Комментарии (13)
  6. JavaScript / Говнокод #4418

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // Если заданное условие успешно (true)
    
    if (is_if) {
    
    	//...
    }

    Нашёл на работе. Гениальное именование переменной и гениальный комментарий.

    glazs, 22 Октября 2010

    Комментарии (14)
  7. Pascal / Говнокод #4417

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    {$APPTYPE CONSOLE}var a:string; b:string; d:char;begin d:='''';
    b:='{$APPTYPE CONSOLE}var a:string; b:string; d:char;begin d:=';
    a:='writeln(b,d,d,d,d,a[25]);writeln(a[9],b[24],b[58],d,b,d,a[25]);writeln(b[23],b[24],b[58],d,a,d,a[25]);writeln(a);end.';
    writeln(b,d,d,d,d,a[25]);writeln(a[9],b[24],b[58],d,b,d,a[25]);writeln(b[23],b[24],b[58],d,a,d,a[25]);writeln(a);end.

    Это код-шутка - как раз для вечера пятницы :)
    можно запустить программу, скопировать то, что выведется на экран в Delphi, скомпилировать, запустить... и так до бесконечности.
    автора не знаю, есть еще 1 пример кода.

    ctm, 22 Октября 2010

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    //Переводим строку в нижний регистр
    function myStrtolower($word){
    	return strtr(strtolower($word), 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ', 'йцукенгшщзхъфывапролджэячсмитьбю');
    }

    сказать нечего

    Sum, 22 Октября 2010

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

    +145

    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
    enum {
    	CONST_A,
    	CONST_B,
    	CONST_C,
    	/* ... и еще пяток в том же духе */
    };
    
    /* ... */
    
    char opType = ...;
    switch(opType) {
    case 'A':
    	/* строчек 10 кода использующие CONST_A */
    	break;
    case 'B':
    	/* капипасто тех же строчек 10 кода - но теперь с CONST_B */
    	break;
    case 'C':
    	/* капипасто тех же строчек 10 кода - но с CONST_C */
    	break;
    /* и т.д. и т.п. для других значений opType */
    }

    только что убил полчаса что бы понять что switch/case завален 100% копиями того же самого кода - только со смененной константой. просто замапить тот char в enum ... это наверное исключительно для слишком умных.

    Dummy00001, 22 Октября 2010

    Комментарии (3)
  10. Pascal / Говнокод #4414

    +112

    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
    procedure TfmConf_PA30.btnWritePAClick(Sender: TObject);
    begin
       if WriteByVariable(11,lbLog6) then begin
        if WriteByVariable(12,lbLog6) then begin
         if WriteByVariable(13,lbLog6) then begin
          if WriteByVariable(14,lbLog6) then begin
           if WriteByVariable(15,lbLog6) then begin
            if WriteByVariable(16,lbLog6) then begin
             if WriteByVariable(17,lbLog6) then begin
              if WriteByVariable(18,lbLog6) then begin
               if WriteByVariable(19,lbLog6) then begin
                if WriteByVariable(20,lbLog6) then begin
                 if WriteByVariable(21,lbLog6) then begin
                  if WriteByVariable(22,lbLog6) then begin
                   if WriteByVariable(23,lbLog6) then begin
                    if WriteByVariable(24,lbLog6) then begin
                     if WriteByVariable(25,lbLog6) then begin
                      if WriteByVariable(26,lbLog6) then begin
                       if WriteByVariable(27,lbLog6) then begin
                        if WriteByVariable(28,lbLog6) then begin
                         if WriteByVariable(29,lbLog6) then begin
                          if WriteByVariable(30,lbLog6) then begin
                           lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (30)');
                         end else
                          lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (29)');
                        end else
                         lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (28)');
                       end else
                        lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (27)');
                      end else
                       lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (26)');
                     end else
                      lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (25)');
                    end else
                     lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (24)');
                   end else
                    lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (23)');
                  end else
                   lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (22)');
                 end else
                  lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (21)');
                end else
                 lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (20)');
               end else
                lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (19)');
              end else
               lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (18)');
             end else
              lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (17)');
            end else
             lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (16)');
           end else
            lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (15)');
          end else
           lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (14)');
         end else
          lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (13)');
        end else
         lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (12)');
       end else
        lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (11)');
    end;

    может циклом надо было? :)
    for i:=11 to 40 do...

    pethead, 22 Октября 2010

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