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

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

    +175

    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
    function enc($text) {
    
    $bad_symbols =  array('ï', 'î', 'é', 'è', 'ì', 'å', 'í', 'õ', 'Ö', 'Ç',
                          'Â', 'â', 'ó', 'ç', 'ä', 'à', 'Í', 'ò', 'Ð', 'ÿ',
    	        'ñ', 'Ì', 'ë', 'ý', 'ö', 'ã', 'Ñ', 'Ô', 'Ï', 'ü',
    	        'Ã', 'ð', 'æ', 'á', 'À', '¸', 'ù', 'Ê', 'ê', 'Á',
    	         '÷', 'Ý', 'û', 'Ë', 'È', 'Ò', 'ß', 'þ', 'Ä', 'Î',
    	        'Ó', 'Å', 'Æ', 'Û', 'ø', 'ô', '×', '¹', '³', 'Õ', 'Þ', 'Ø');
    					  
    $good_symbols = array('п', 'о', 'й', 'и', 'м', 'е', 'н', 'х', 'Ц', 'З',
                          'В', 'в', 'у', 'з', 'д', 'а', 'Н', 'т', 'Р', 'я',
    	        'с', 'М', 'л', 'э', 'ц', 'г', 'С', 'Ф', 'П', 'ь',
                          'Г', 'р', 'ж', 'б', 'А', 'ё', 'щ', 'К', 'к', 'Б',
    	         'ч', 'Э', 'ы', 'Л', 'И', 'Т', 'Я', 'ю', 'Д', 'О',
    	         'У', 'Е', 'Ж', 'Ы', 'ш', 'ф', 'Ч', '№', 'і', 'Х', 'Ю', 'Ш');
     
    $text_rus = str_replace($bad_symbols, $good_symbols, $text, $count);
    
    				
    // Восстанавливаем японские иероглифы
    $bad_symbols =  array('іх', 'Тф', 'ҐЇ', 'Ґё', 'ҐЯ', '©`', 'Ґµ', 'Ґа', 'ь\\', '¤¦', '¤µ', 'Ґ«', 'Ґу', 'Ґї', 'Ґм', 'Ґй',
                          'Ґ¦', 'ҐЙ', 'Ґ·', 'Ґ°', 'ҐК', 'Ґл', 'Ґк', 'Ґи', 'ЈЁ', 'Ј©', 'ЈЬ', 'ЈЇ', 'Бч', 'РЗ', 'СІ', 'зR',
    	         'ВЇ', 'РД', 'ИЪ', 'Ѕв', 'ҐЄ', 'Ґп', 'Ґі', 'РР', 'ЯM', 'Зъ', 'ҐИ', '¤н', '¤ї', '¤у', '¤А', '±°',
    	        'ЗУ', '‘й', 'к ', 'ҐЬ', 'Ґн', '¤П', '¤д', '‰ф', '¤Я', '¤л', '¤і', '¤И', '¤к');
    					  
    $good_symbols = array('初', '音', 'ク', 'ジ', 'ミ', 'ー', 'サ', 'ム', '黒', 'う', 'さ', 'カ', 'ン', 'タ', 'レ', 'ラ',
                          'ウ', 'ド', 'シ', 'グ', 'ナ', 'ル', 'リ', 'ヨ', '(', ')', '\', '/', '流', '星', '巡', '鏡',
    	        '炉', '心', '融', '解', 'オ', 'ワ', 'コ', '行', '進', '曲', 'ト', 'ろ', 'た', 'ん', 'だ', '卑',
    	        '怯', '戦', '隊', 'ボ', 'ロ', 'は', 'や', '夢', 'み', 'る', 'こ', 'と', 'り');
    
    $text_jap = str_replace($bad_symbols, $good_symbols, $text_rus, $count2);
    
    if ($count > 3)
        return $text_rus;
    elseif ($count2 > 3)
        return $text_jap;
    else return $text;
    }

    Декодер кривых тегов на интернет-радио.
    Написано год назад.
    Я, конечно, знал про iconv, но очень хотелось решить головоломку - имелся тег, который я знал, что значит в верной кодировке. А остальные я не знал, что значат.
    И в итоге, зная некоторые соответствия символов win-1252 и win-1251, стал отгадывать соответствия к остальным :)
    А дальше - высший пилотаж, это даже iconv не брал.
    Японские иероглифы, испорченные хрен знает как. Знал только как расшифровывается имя одного исполнителя.
    Дальше гуглом и методом тыка искал соответствия к остальным иероглифам.

    7ion, 01 Июня 2011

    Комментарии (19)
  3. Куча / Говнокод #6787

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var f,i:Integer;
    begin
    for i:=1 to 100 do
    for i:=100 downto 1 do
    writeln('I=',i);
    end.

    "ПОЧЕМУ ЭТА ТВАР СЧИТАЕТ ТОЛЬКО В 1 СТОРОНУ?!"

    grouch, 30 Мая 2011

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

    +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
    $datetime=strtotime($new["date"]);
        $m=date("m", $datetime);
        if($m=='01') { $month="Янв"; }
        if($m=='02') {  $month="Фев"; }
        if($m=='03') {  $month="Март"; }
        if($m=='04') {  $month="Апр"; }
        if($m=='05') {  $month="Май"; }
        if($m=='06') {  $month="Июнь"; }
        if($m=='07') {  $month="Иль"; }
        if($m=='08') {  $month="Авг"; }
        if($m=='09') {  $month="Сен"; }
        if($m=='10') {  $month="Окт"; }
        if($m=='11') {  $month="Ноя"; }
        if($m=='12') {  $month="Дек"; }
        $date = date("d", $datetime);

    http://www.askdev.ru/php/6048/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0% B0%D1%86%D0%B8%D1%8F-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0% BE%D0%B2-%D0%BD%D0%B0-PHP/

    radioheaded, 27 Мая 2011

    Комментарии (19)
  5. Куча / Говнокод #6705

    +135

    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
    <!-- Баннеры после меню -->
    <!-- место № 30 -->
      <div class="banner">
        <div class="emptybanner" id="banner_30"></div>
      </div>
    
      <!-- место № 40 -->
      <div class="banner">
        <div class="emptybanner" id="banner_40"></div>
      </div>
    
      <!-- место № 50 -->
      <div class="banner">
        <div class="emptybanner" id="banner_50"></div>
      </div>
    
      <!-- место № 60 -->
      <div class="banner">
        <div class="emptybanner" id="banner_60"></div>
      </div>
    
      <!-- место № 70 -->
      <div class="banner">
        <div class="emptybanner" id="banner_70"></div>
      </div>
    
      <!-- место № 80 -->
      <div class="banner">
        <div class="emptybanner" id="banner_80"></div>
      </div>
    
      <!-- место № 90 -->
      <div class="banner">
        <div class="emptybanner" id="banner_90"></div>
      </div>

    http://ticket.rzd.ru
    Все комментарии в коде в другой кодировке.
    Это, конечно, крутая конспирация, $str =~ s/<!--.*?-->//sg; и $str =~ s#//.*?-##g; нервно курят в сторонке.

    Ну а иллюстрация тоже веселая. Пустые баннеры отаке!

    7ion, 19 Мая 2011

    Комментарии (19)
  6. Java / Говнокод #6693

    +78

    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
    String Pushkin() {
    
        java.util.Random random = new java.util.Random((long) new java.util.Date().getTime());
            String col0s = null, col1s = null, col2s = null, col3s = null, col4s = null, col5s = null, col6s = null, col7s = null, col8s = null, col9s = null;
    
            String sp = "\u0020";
            int col0, col1, col2, col3, col4, col5, col6, col7, col8, col9;
    
            col0 =random.nextInt(10);
            col1 = random.nextInt(10);
            col2 = random.nextInt(10);
            col3 = random.nextInt(10);
            col4 = random.nextInt(10);
            col5 = random.nextInt(10);
            col6 = random.nextInt(10);
            col7 = random.nextInt(10);
            col8 = random.nextInt(10);
            col9 = random.nextInt(10);
    
            switch (col0) {
                case 0:
                    col0s = "Я помню"; break;
                case 1:
                    col0s = "Не помню";break;
                case 2:
                    col0s = "Забыть бы";break;
                case 3:
                    col0s = "Купите";break;
                case 4:
                    col0s = "Очкуешь";break;
                case 5:
                    col0s = "Какое";break;
                case 6:
                    col0s = "Угробил";break;
                case 7:
                    col0s = "Хреново";break;
                case 8:
                    col0s = "Открою";break;
                case 9:
                    col0s = "Ты чуешь?";break;
            }
    
    // ...
    
            switch (col9) {
                case 0:
                    col9s = "красоты";break;
                case 1:
                    col9s = "мерзлоты";break;
                case 2:
                    col9s = "суеты";break;
                case 3:
                    col9s = "наркоты";break;
                case 4:
                    col9s = "срамоты";break;
                case 5:
                    col9s = "школоты";break;
                case 6:
                    col9s = "типа ты";break;
                case 7:
                    col9s = "простоты";break;
                case 8:
                    col9s = "хреноты";break;
                case 9:
                    col9s = "наготы";break;
            }
    
            return col0s + sp + col1s + sp + col2s + sp + col3s + sp + col4s + ", как " + col5s + sp + col6s + ", как " + col7s + sp + col8s + sp + col9s + ".";
        }

    Формирует вариации на тему Пушкинского "чудного мгновенья". Автор утверждает, что именно так нужно писать код при ограничении по времени написания.

    XapoH, 17 Мая 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function write($pole,$table,$where,$order)
    {
      if ($where) $where="WHERE ".$where;
      $query="SELECT $pole FROM $table $where $order";
      $result=mysql_query($query);

    с одного дружественного сайта

    Lure Of Chaos, 14 Мая 2011

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

    +161

    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
    <!-------------------- Left menu -------------------------->
      <tr> 
        <td valign="top" width="188" class="text"> 
          <table width="188" border="0" cellspacing="0" cellpadding="10">
            <tr>
              <td class="tl">Content</td>
            </tr>
          </table>
          <? 
    
    global $SS_SECTION_NAME, $months2, $level, $SS_SECTION, $info, $arrInterest, $db, $is_photo, $ar_title, $is_contain, $id, $shablon;
    
    if ($prev == 'yes') $add = " AND t.is_confirm!=2 AND t.ref_id=0 ";
    else $add = " AND t.is_confirm!=0 AND t.is_visible=1 "; 
    $sql =  "SELECT t.tree_id, t.name, s.name as section, t.is_contain FROM trees t, sections s WHERE t.root_id=3 AND t.section_id = s.section_id ".$add." ORDER BY t.order_by";
    $db->query($sql);
    $Rec = array();	
    $i = 0;
    while($db->next_record()) {
        $Rec[$i++] = $db->Record;
    }
    reset($Rec);
    
    ?>

    Проект который нужно переписать на Yii framework. Писал человек с большим сроком работы программиста чем я. Видать про фреймворки не знал. Код не весь, так как он огромен.

    P.S. В проекте более 2000 файлов с таким содержанием.

    akazakov, 08 Мая 2011

    Комментарии (19)
  9. PHP / Говнокод #6528

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
       * Строка парсится в аргументы функции
       * @param string
       * @return <type>
       */
      protected function _parse_func_arg ( $str ) {
        return func_get_args();
      }

    Поколупал netсat. Получил много эмоций... Спасибо.
    ( PS. По-моему, скоро netсat останется только в unix... )

    istem, 02 Мая 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!opts.matchCase){ 
    	var regx = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + query + ")(?![^<>]*>)(?![^&;]+;)", "gi");
    } else {
    	var regx = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + query + ")(?![^<>]*>)(?![^&;]+;)", "g");
    }

    http://code.drewwilson.com/entry/autosuggest-jquery-plugin

    sapegin, 26 Апреля 2011

    Комментарии (19)
  11. C++ / Говнокод #6393

    +167

    1. 1
    int pm = pm == -2 ? -1 : pm_ == -1 ? mi : pm_;

    Фрагмент из функции поиска, определение какого-то индекса.

    Surendil, 19 Апреля 2011

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