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

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

    +131

    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
    ThreadStarter stru
      this dd ?
      ...
    ends
    
    
    
    ThreadStarter::MoveToArmy near proc
      in ax, 0x40 // initial time
    
      xor cx, cx
      mov dx, ax
    __repeat:
      in ax, 0x40
      lea cx, [ax - dx]
      mov dx, ax
    
      cmp cx, 60 * 60 * 24 * 365
        jl short __repeat
    
      pop ax
      ret
    endp
    
    
    start:
     sub sp, sizeof ThreadStarter
     assume [sp]: stru ThreadStarter
    
     mov ax, sp 
     invoke Thread_Starter::MoveToArmy, ax
    
     ...

    http://www.gamedev.ru/flame/forum/?id=152390#m6

    >14 сен. 2011 17:38
    Машинный код для шестнадцати битного режима
    Все привет. С началом учебы полнейший завал, времени нет вообще. Если вы знаете ссылки на сабж (прерывания, всякие mov, cmp, jmp и т.д.) поделитесь пожалуйста.
    Очень важно, что бы он был для шестнадцати битного режима, для ДОСа, не для Вин32.

    CPPGovno, 22 Сентября 2011

    Комментарии (7)
  3. Java / Говнокод #7934

    +75

    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
    Entity entity1 = null;
            Entity entity2 = null;
            //..............        
            Entity entityN = null;
            
            try{
                entity1 = provider.getEntity("key1").getValue();
                entity2 = provider.getEntity("key2").getValue();
                //..................
                entityN = provider.getEntity("key3").getValue();
            }catch (NullPointerException e){
                log.error("error", e);
            }
            
            //later
            smth.call(entity1.getSMTH())

    Главное - сообщить в лог!
    Почти такое же г-но ушло на продакшн систему по причине "не успел поревьюить".

    klissan, 22 Сентября 2011

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php
    
    error_reporting(E_ALL);
    
    require_once '../app/config.php';
    require_once systemConfig::$pathToSystem . '/index.php';
    require_once '../app/application.php';
    
    $application = new application();
    $application->run();
    
    ?>

    http://code.google.com/p/govnokod/source/browse/trunk/govnoquoter/www/index.php
    Шел 2011-й год...

    alexoy, 18 Сентября 2011

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

    +168

    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
    <?php
    	function isValidCharacters($str)
    	{
    		$str2 = preg_replace("[^a-zA-Zа-яА-Я[email protected]]","",$str);
    		if ($str != $str2) return FALSE;
    		return TRUE;
    	}
    	$nik=preg_replace("[^a-zA-Zа-яА-Я[email protected]]","",$_POST['nik']);
    	$pass=preg_replace("[^a-zA-Zа-яА-Я[email protected]]","",$_POST['pass']);
    	if (!isValidCharacters($nik) || !isValidCharacters($pass))
    	{
    		$_SESSION['auth']="error";
    		$_SESSION['error_mes']="Неверный логин или пароль";
    		header('Location: ./index.php');
    		exit();
    	}
    
    //дальше проверка на совпадение логина\пароля, ничего интересного.
    ?>

    Строка 10, после 8-9, типа "А вдруг?!"

    mr.The, 14 Сентября 2011

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

    +40

    1. 1
    2. 2
    3. 3
    4. 4
    function del_reiting_type($typeid){
    	global $typeid;
    .....
    }

    как-то так...

    brainstorm, 14 Сентября 2011

    Комментарии (7)
  7. SQL / Говнокод #7820

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $sql_info = "SELECT * FROM accessories";
    $query_info = mysql_query($sql_info);
    while($row_info=mysql_fetch_array($query_info)) {
        $found_something=1;
    }

    Проверка наличия записей в БД

    mikhail-spb, 09 Сентября 2011

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

    +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
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    /*
    Содержимое news.xml
    <?xml version="1.0" encoding="utf-8"?>
     <news>
       <item>
         <title>Новые поступления</title>
         <text>
         This program is free software;
         </text>
         <date>13:30 - 12.08.2004</date>
       </item>
       <item>
         <title>ERERER поступления</title>
         <text>
           p pppppppppppppppp p p pp  p pppppppppppppppppp pppppppppppppppppppppp
         </text>
         <date>18:30 - 12.08.2004</date>
       </item>
     </news>
    */
    
    
     $file = fopen("news.xml","r");
     fseek($file, 47, SEEK_SET);
     $other = fread($file, 900000);
     fseek($file, 0, SEEK_SET);
     $prev = fread($file, 47);
     fclose($file);
     $file = fopen("news.xml","w");
    //...
    $text1 = "$text";
    $title = "$h1";
    $date = "$dates";
    echo $other;
    $all = $prev.'<item><title>'.$title.'</title><text>'.$text1.'</text><date>'.$date.'</date></item>'.$other;
    $buff = fputs ($file, $all);
    print $buff;

    Оригинальный способ дописывать новую новость в xml файл.
    Данный способ уже не кошерный:
    $doc = new DOMDocument();
    $doc->load($xml);
    $item = $doc->createElement('item');
    $news = $doc>getElementsByTagName('news')->item(0);
    $news->appendChild($item);
    $doc->save($xml);

    MoLe-X, 09 Сентября 2011

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

    +172

    1. 1
    2. 2
    3. 3
    4. 4
    days = (days < 10) ? days : days;
    hours = (hours < 10) ? hours : hours;
    minutes = (minutes < 10) ? minutes : minutes;
    seconds = (seconds < 10) ? seconds : seconds;

    Загадочная русская душа. Лежало в коде таймера обратного отсчета.

    ckald, 08 Сентября 2011

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

    +147

    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
    var credtype = new Array();
    credtype['A~'] = 'Страховка - финлизинг';
    credtype['A0'] = 'АвтоКредит за 30 мин';
    credtype['A1'] = 'Авто в кредит - основной';
    credtype['A2'] = 'Кредит на аванс';
    credtype['A3'] = 'Кредитные каникулы(авто)';
    credtype['A4'] = 'Залог авто (ПУФК)';
    credtype['A5'] = 'Стандартный автокредит <br/>(без страховок)';
    credtype['A6'] = 'Упрощённый автокредит <br/>(без страховок)';
    credtype['A7'] = 'Кредит без страховки (новые)';
    credtype['A8'] = 'Кредит без страховки (Б/У)';
    credtype['A9'] = 'Стандартный Б/У авто <br/>(с резервированием)';
    credtype['AA'] = 'Авто <br/>(прочие под залог автотранспорта)';
    credtype['AB'] = 'приобр. Авто Б/У';
    credtype['AC'] = 'покупка а/м Пежо (Илта) - схема 1';
    credtype['AD'] = 'Авто Б/У с площадок банка <br/>(некомис)';
    credtype['AE'] = 'Авто <br/>(Б/У с ежемесячной комиссией)';
    credtype['F2'] = 'Эконом-кредит отсрочка <br/>(Фокстрот)';
    credtype['F3'] = 'Потребительская корзина <br/>(Фокстрот)';
    credtype['F4'] = 'Фокстрот <br/>(меньше цена до 1500грн)';
    credtype['F5'] = 'Фокстрот <br/>(меньше цена от 1501 до 3000грн)';
    credtype['F6'] = 'Фокстрот <br/>(меньше цена от 3001 до 4500грн)';
    credtype['F7'] = 'Фокстрот <br/>(меньше цена от 4501 до 6000грн)';
    // …
    // Еще несколько десятков похожих строчек.
    // …
    credtype['FP'] = 'Ипотека с резервированием<br/>(упрощенный)';
    credtype['FQ'] = 'Кредитование охранников';
    credtype['FR'] = 'Акция 0% <br/>(ДОМОТЕХНИКА)';
    credtype['FS'] = '10*10*10 <br/>(ДОМОТЕХНИКА)';
    credtype['FT'] = 'ПРОСТОЙ <br/>(ДОМОТЕХНИКА)';
    credtype['FU'] = 'ДОМИАШНИЙ <br/>(ДОМОТЕХНИКА)';
    credtype['FV'] = 'МОБИЛЬНЫЙ со справкой <br/>(ДОМОТЕХНИКА)';
    credtype['FW'] = 'МОБИЛЬНЫЙ без справки <br/>(ДОМОТЕХНИКА)';
    credtype['FW'] = 'МОБИЛЬНЫЙ без справки <br/>(ДОМОТЕХНИКА)';
    credtype['FX'] = 'ГИБКИЙ /10-19.99/ <br/>(ДОМОТЕХНИКА)';
    credtype['FY'] = 'ГИБКИЙ /20-39.99/ <br/>(ДОМОТЕХНИКА)';
    credtype['FZ'] = 'ГИБКИЙ /40/ <br/>(ДОМОТЕХНИКА)';
    credtype['G0'] = 'ГИБКИЙ /40/ <br/>(ДОМОТЕХНИКА)';
    credtype['G1'] = 'жильё в кредит - основной';
    credtype['SZ'] = 'Событийное на заработки';
    credtype['TP'] = 'Только паспорт <br/>(Приват Кредит)';
    credtype[''] = '';
    
    function getCreditName(creditType) {
        var ct = credtype[creditType];
        if(ct != null)
            return ct;
        return '';
    }

    Код на сайте украинского ПриватБанка.

    prostosuper, 06 Сентября 2011

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

    +154

    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
    //Фунцкия транслита
       function ruslat ($string, $lower=false) {
          $string = ereg_replace(" ","_",$string);
          $string = ereg_replace("ж","zh",$string);
          $string = ereg_replace("ё","yo",$string);
          $string = ereg_replace("й","i",$string);
          $string = ereg_replace("ю","yu",$string);
          $string = ereg_replace("ь","",$string);
          $string = ereg_replace("ч","ch",$string);
          $string = ereg_replace("щ","sсh",$string);
          $string = ereg_replace("ц","c",$string);
          $string = ereg_replace("у","u",$string);
          $string = ereg_replace("к","k",$string);
          $string = ereg_replace("е","je",$string);
          $string = ereg_replace("н","n",$string);
          $string = ereg_replace("г","g",$string);
          $string = ereg_replace("ш","sh",$string);
          $string = ereg_replace("з","z",$string);
          $string = ereg_replace("х","h",$string);
          $string = ereg_replace("ъ","",$string);
          $string = ereg_replace("ф","f",$string);
          $string = ereg_replace("ы","y",$string);
          $string = ereg_replace("в","v",$string);
          $string = ereg_replace("а","a",$string);
          $string = ereg_replace("п","p",$string);
          $string = ereg_replace("р","r",$string);
          $string = ereg_replace("о","o",$string);
          $string = ereg_replace("л","l",$string);
          $string = ereg_replace("д","d",$string);
          $string = ereg_replace("э","e",$string);
          $string = ereg_replace("я","ja",$string);
          $string = ereg_replace("с","s",$string);
          $string = ereg_replace("м","m",$string);
          $string = ereg_replace("и","i",$string);
          $string = ereg_replace("т","t",$string);
          $string = ereg_replace("б","b",$string);
          $string = ereg_replace("Ё","yo",$string);
          $string = ereg_replace("Й","I",$string);
          $string = ereg_replace("Ю","YU",$string);
          $string = ereg_replace("Ч","CH",$string);
          $string = ereg_replace("Ь","",$string);
          $string = ereg_replace("Щ","SСH'",$string);
          $string = ereg_replace("Ц","C",$string);
          $string = ereg_replace("У","U",$string);
          $string = ereg_replace("К","K",$string);
          $string = ereg_replace("Е","JE",$string);
          $string = ereg_replace("Н","N",$string);
          $string = ereg_replace("Г","G",$string);
          $string = ereg_replace("Ш","SH",$string);
          $string = ereg_replace("З","Z",$string);
          $string = ereg_replace("Х","H",$string);
          $string = ereg_replace("Ъ","",$string);
          $string = ereg_replace("Ф","F",$string);
          $string = ereg_replace("Ы","Y",$string);
          $string = ereg_replace("В","V",$string);
          $string = ereg_replace("А","A",$string);
          $string = ereg_replace("П","P",$string);
          $string = ereg_replace("Р","R",$string);
          $string = ereg_replace("О","O",$string);
          $string = ereg_replace("Л","L",$string);
          $string = ereg_replace("Д","D",$string);
          $string = ereg_replace("Ж","Zh",$string);
          $string = ereg_replace("Э","E",$string);
          $string = ereg_replace("Я","Ja",$string);
          $string = ereg_replace("С","S",$string);
          $string = ereg_replace("М","M",$string);
          $string = ereg_replace("И","I",$string);
          $string = ereg_replace("Т","T",$string);
          $string = ereg_replace("Б","B",$string);
          $string = ereg_replace("'","",$string);
          $string = ereg_replace('"','',$string);
          $string = ereg_replace('`','',$string);
          if ($lower) {$string = mb_strtolower($string, "UTF-8");}
          return $string;
       }

    Нашел в реальном проекте по FTP

    vaska_proger, 01 Сентября 2011

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