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

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

    +150.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php 
    
    ...
    
    $markers = array("~");
    $newcode  = array("<br>");
    $output = str_replace($markers, $newcode, $source);
    
    ...
    
    ?>

    А вот так канадские кодеры заменяют функцию nl2br() в textarea
    =)

    Senya, 11 Ноября 2009

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

    +131.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
    public static DataTable DeserilazeDataTable(string schema, string data)
            {
                DataTable tbl = new DataTable();
                if (!string.IsNullOrEmpty(schema))
                    using (Stream stream = new MemoryStream())
                    {
                        byte[] bufer = GetBytes(schema);
    
                        stream.Write(bufer, 0, bufer.Length);
                        stream.Position = 0;
                        tbl.ReadXmlSchema(stream);
                    }
    
                if (!string.IsNullOrEmpty(data))
                    using (Stream stream = new MemoryStream())
                    {
                        byte[] bufer = GetBytes(data);
    
                        stream.Write(bufer, 0, bufer.Length);
                        stream.Position = 0;
                        tbl.ReadXml(stream);
                    }
    
                return tbl;
            }
    
     public static byte[] GetBytes(string str)
            {
                if (string.IsNullOrEmpty(str))
                    return new byte[0];
    
                char[] ch = str.ToCharArray();
                byte[] bufer = new byte[ch.Length];
                for (int i = 0; i < ch.Length; i++)
                    bufer[i] = (byte)ch[i];
    
                return bufer;
            }
    //также имеются методы для сериализации, работающие также
    public static string SerilazeDataTable(DataTable table)
    public static string SerilazeDataTableShame(DataTable table)
    public static string GetString(byte[] bufer)

    Вот такой десериализатор таблицы в Xml нашел в проэкте.

    sven47, 11 Ноября 2009

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

    +75.4

    1. 1
    <many-to-one name="nurseSex" entity-ref="sex" title="Пол ухаживающего"/>

    Атрибут "title" развеял все мои фантазии о сексе с медсестрой :)

    eveel, 05 Ноября 2009

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

    +161.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
    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
    <?php
    for($i=1;$i<999999999999;) { 
    $link = "http://wjfs.net.ru/bash.php"; 
    $otvet=connect($link); 
    $begin = "<qwe> "; 
    $begin = strpos($otvet, $begin) + strlen($begin); 
    $end = " </qwe>"; 
    $end = strpos($otvet, $end, $begin); 
    $bash = substr($otvet, $begin, $end - $begin); 
    //////////////////////////////////////////////////////// 
    $link = "http://vkontakte.ru/profile.php";  
    $otvet=connect($link, $cookie);  
    $begin = "Друзья <span>(";  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = ")</span></h2></div>";  
    $end = strpos($otvet, $end, $begin);  
    $drugi = substr($otvet, $begin, $end - $begin);  
    $begin = "Друзья он-лайн <span>(";  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = ")</span>";  
    $end = strpos($otvet, $end, $begin);  
    $drugionl = substr($otvet, $begin, $end - $begin);  
    //////////////////////////////////////////////////////// 
    $link = 'http://vkontakte.ru/mail.php';  
    $otvet=connect($link, $cookie);  
    $begin = 'В Вашем ящике '; 
    $begin = strpos($otvet, $begin) + strlen($begin); 
    $end = ' '; 
    $end = strpos($otvet, $end, $begin); 
    $mailpol = substr($otvet, $begin, $end - $begin); 
    $link = 'http://vkontakte.ru/mail.php?out=1';  
    $otvet=connect($link, $cookie); 
    $begin = 'Вы отправили '; 
    $begin = strpos($otvet, $begin) + strlen($begin); 
    $end = ' '; 
    $end = strpos($otvet, $end, $begin); 
    $mailotp = substr($otvet, $begin, $end - $begin); 
    $mail = $mailotp+$mailpol; 
    ////////////////////////////////////////////////////// 
    $link="http://vkontakte.ru/feed.php";  
    $res=connect($link, $cookie);  
    $begin = 'messages{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $pm = substr($res, $begin, $end - $begin);  
    $begin = 'photos{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $vds = substr($res, $begin, $end - $begin);  
    $begin = 'groups{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $gp = substr($res, $begin, $end - $begin);  
    $begin = 'friends{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $pf = substr($res, $begin, $end - $begin);  
    $begin = 'videos{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $vd = substr($res, $begin, $end - $begin);  
    ////////////////////////////////////////////////////// 
    $link = 'http://vkontakte.ru/feed2.php';  
    $otvet=connect($link, $cookie);  
    $begin = 'questions":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $questions = substr($otvet, $begin, $end - $begin);  
    $begin = '"gifts":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $gifts = substr($otvet, $begin, $end - $begin);  
    $begin = '"notes":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $notes = substr($otvet, $begin, $end - $begin);  
    $begin = '"opinions":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $opinions = substr($otvet, $begin, $end - $begin);  
    $begin = '"events":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $events = substr($otvet, $begin, $end - $begin);  
    ////////////////////////////////////////////////////// 
    $link = 'http://vkontakte.ru/matches.php';  
    $otvet = connect($link, $cookie);

    Ниибаццо оптимизация

    art2222, 02 Ноября 2009

    Комментарии (3)
  6. SQL / Говнокод #2066

    −867.1

    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
    PREPARE `@pr_statement` FROM "
                    SELECT `torrents_full`.`torrent_id`,`torrents_full`.`torrent_tracker`,
                    `torrents_full`.`torrent_href`,`torrents_full`.`torrent_name`,`torrents_full`.`torrent_author`,`torrents_full`.`torrent_files`,
                    `torrents_full`.`torrent_img`,`torrents_full`.`torrent_size`,`torrents_full`.`torrent_info`,`torrents_full`.`torrent_date`,
                    `torrents_full`.`user_name`,`torrents_full`.`user_class`,`torrents_full`.`user_href`,? AS `count` FROM
                    (SELECT `torrents`.`torrent_id`,`torrents`.`torrent_tracker`,
                    `torrents`.`torrent_href`,`torrents`.`torrent_name`,`torrents`.`torrent_author`,`torrents`.`torrent_files`,
                    `torrents`.`torrent_img`,`torrents`.`torrent_size`,`torrents`.`torrent_info`,`torrents`.`torrent_date`,
                    `users`.`user_name`,`users`.`user_class`,`users`.`user_href`
                    FROM `torrents` LEFT JOIN `users` ON `users`.`user_id` = `torrents`.`torrent_author`
                    WHERE `torrents`.`torrent_tracker` IN (?,1,2,3,4,5,6,7) AND (MATCH(`torrents`.`torrent_name`) AGAINST(?)
                    OR `torrents`.`torrent_name` LIKE ?)) as `torrents_full`
                    WHERE `torrents_full`.`torrent_name` LIKE ? ORDER BY `torrents_full`.`torrent_date` LIMIT 50";
        SET @torr_tracker = `torr_tracker`;
        SET @torr_fullsearch = `torr_fullsearch`;
        SET @torr_search = `torr_search`;
        EXECUTE `@pr_statement` USING @torr_count,@torr_tracker,@torr_fullsearch,@torr_search,@torr_search;
        DEALLOCATE PREPARE `@pr_statement`;

    это у меня такой эффективный поиск по БД))))

    Sadie, 28 Октября 2009

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

    −104.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ($i > $#files) {
            $pusto = 0; #Это значит пусто
    } else {
            $pusto = 1;
    }

    Нашёл в своем давнешнем коде.
    $pusto = 0; #Это значит пусто
    Логика рулит.

    Oleg_quadro, 27 Октября 2009

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

    +158.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
    // Находим две ближайшие станицы с обоих краев, если они есть
    if($page - 5 > 0) $page5left = ' <a href=adm.php?'.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
    if($page - 4 > 0) $page4left = ' <a href=adm.php?'.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
    if($page - 3 > 0) $page3left = ' <a href=adm.php?'.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
    if($page - 2 > 0) $page2left = ' <a href=adm.php?'.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
    if($page - 1 > 0) $page1left = '<a href=adm.php?'.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
    
    if($page + 5 <= $total) $page5right = ' | <a href=adm.php?'.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
    if($page + 4 <= $total) $page4right = ' | <a href=adm.php?'.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
    if($page + 3 <= $total) $page3right = ' | <a href=adm.php?'.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
    if($page + 2 <= $total) $page2right = ' | <a href=adm.php?'.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
    if($page + 1 <= $total) $page1right = ' | <a href=adm.php?'.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
    
    // Вывод меню если страниц больше одной
    
    if ($total > 1)
    {
    Error_Reporting(E_ALL & ~E_NOTICE);
    echo "<div class=\"pstrnav\">";
    echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
    echo "</div>";
    }

    Типа постраничный вывод сообщений...

    Cr@ZyBoY, 27 Октября 2009

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

    +160

    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
    <?  switch ($passoAttivo) {
                        case 1:
                            ?>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo1_attivo.gif" alt="Passo 1 attivo" width="56" height="52"></td>
                                        <td width="9%"><img src="<?=base_url()?>/images/passi/passo2.gif" alt="Passo 2" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo3.gif" alt="Passo 3" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo4.gif" alt="Passo 4" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo5.gif" alt="Passo 5" width="57" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo6.gif" alt="Passo 6" width="57" height="52"></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><div align="left"><img src="<?=base_url()?>/images/passi/passo7.gif" alt="Passo 7" width="57" height="52"></div></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo8.gif" alt="Passo 8" width="56" height="52"></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo9.gif" alt="Passo 9" width="56" height="52"></td>
                                    <td width="45%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo10.gif" alt="Passo 10" width="56" height="52"></td>
                                    
                            <?
                            break;
                        case 2:
                            ?>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo1.gif" alt="Passo 1" width="56" height="52"></td>
                                        <td width="9%"><img src="<?=base_url()?>/images/passi/passo2_attivo.gif" alt="Passo 2 attivo" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo3.gif" alt="Passo 3" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo4.gif" alt="Passo 4" width="56" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo5.gif" alt="Passo 5" width="57" height="52"></td>
                                    <td width="9%"><img src="<?=base_url()?>/images/passi/passo6.gif" alt="Passo 6" width="57" height="52"></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><div align="left"><img src="<?=base_url()?>/images/passi/passo7.gif" alt="Passo 7" width="57" height="52"></div></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo8.gif" alt="Passo 8" width="56" height="52"></td>
                                    <td width="9%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo9.gif" alt="Passo 9" width="56" height="52"></td>
                                    <td width="28%" background="<?=base_url()?>/images/passi/passi_fine_menu.gif"><img src="<?=base_url()?>/images/passi/passo10.gif" alt="Passo 10" width="56" height="52"></td>
                            <?
                            break;
    // ....
    // И так всего десять веток.

    Реализация подсветки активного пункта меню, в индусском стиле в исполнении итальянского php-хакера.

    voice, 27 Октября 2009

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

    +130.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
    #region C++ signatures
            //long TRANS2QUIK_API __stdcall TRANS2QUIK_CONNECT (
            //    LPSTR lpstConnectionParamsString, 
            //    long* pnExtendedErrorCode, 
            //    LPSTR lpstrErrorMessage, 
            //    DWORD dwErrorMessageSize);
            #endregion
    
    
            #region connect
            [DllImport("TRANS2QUIK.DLL", EntryPoint = "_TRANS2QUIK_CONNECT@16",CallingConvention = CallingConvention.StdCall)]
            static extern long connect(string lpcstrConnectionParamsString,ref long pnExtendedErrorCode,
               byte[] lpstrErrorMessage,UInt32 dwErrorMessageSize);
            public static void connect_test(bool FinalPause)
            {
                string path = @"D:\Квики\Quik.ТХБ2007\";
                Byte[] EMsg = new Byte[50];
                UInt32 EMsgSz = 50;
                long ExtEC = 0, rez = -1;
                rez = connect(path, ref ExtEC, EMsg, EMsgSz);
                Console.WriteLine("test_q.connect_test>\t\t{0} {1} ",rez & 255, ResultToString(rez&255));
                //Console.WriteLine(" ExtEC={0}, EMsg={1}, EMsgSz={2}", (ExtEC & 255), EMsg, EMsgSz);
                if(FinalPause)Console.ReadLine();
            }
            #endregion

    Юзаем функцию написанную на C++ и возвращающую тип long. После неправильного маршалинга (в C++ long это 32 бита, а не 64) отсекаем лишние биты по AND.

    greeny, 24 Октября 2009

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

    +149.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // фикс для ie: поддержка псевдокласса hover для всех элементов
    
    $(dacumetn] riady (fucntion{}(
    
    dacument inner-html =replace [hover,'onmouseovir"}
    if dacument inner-html 
                                           ==
                      if link=this:onmauseout
    else
    };

    КРУТАААААААААААААААААААААААААААААААААААА

    fuckyounoob, 22 Октября 2009

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