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

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

    +171

    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
    define('ERROR', 1);
    define('WARNING', 2);
    define('PARSE', 4);
    define('NOTICE', 8);
    define('CORE_ERROR', 16);
    define('CORE_WARNING', 32);
    define('COMPILE_ERROR', 64);
    define('COMPILE_WARNING', 128);
    define('USER_ERROR', 256);
    define('USER_WARNING', 512);
    define('USER_NOTICE', 1024);
    // ---------------------------
    $errortype = array(
    1=>'Ошибка',
    2=>'Предупреждение!',
    4=>'Ошибка разборщика',
    8=>'Замечание',
    16=>'Ошибка ядра',
    32=>'Предупреждение ядра!',
    64=>'Ошибка компиляции',
    128=>'Предупреждение компиляции!',
    256=>'Пользовательская Ошибка',
    512=>'Пользовательскаое Предупреждение!',
    1024=>'Пользовательскаое Замечание',
    2048=>'Небольшое замечание',
    8192=>'Устаревший код');

    Мартин, 06 Сентября 2010

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

    +144

    1. 1
    HTML разметка вот этого форума (http://science-noir.kzforum.info/forum.htm) доставляет настоящее эстетическое наслаждение :-D

    ageron, 05 Сентября 2010

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

    +80

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    try {
         while (sender.isAlive()) {
             this.sleep(100);//static field usage(!)
         }
    } catch (java.lang.InterruptedException e) {
         Log.log(Log.ERROR, this, e);
    }

    типа Thread.join() не наш метод.

    qnikst, 04 Сентября 2010

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

    +173

    1. 1
    2. 2
    3. 3
    for ($i = 1; $i <= 1; $i++) {
        echo $top_stats;
    }

    Найден в одном из популярных дополнений для vbulletin.
    На вопрос - "Зачем for ($i = 1; $i <= 1; $i++)", получил ответ - "А ты подставь 5 заместо второй единицы, увидишь как всё криво станет"

    hcy321, 01 Сентября 2010

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

    +157

    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
    /**
     * Получить список NEW5
     * 
     * @return array список событий
     */
    public function getLastForBlockNew($cat_tc_id = NULL)
    {
    
        $max_name_len = 41;
    
        $sql = "SELECT
                    a.d_id,
                    CONCAT(a.d_sname, ' ', a.d_name, ' ', a.d_fname) as d_name,
                    SUBSTR(a.d_description, 0, 30) as d_description,
                    a.d_rating,
                    c.c_name_url,
                    b.rg_name_url,
                    '".Application_Url_Maker::makeUrl(array(), 'sub-domain1')."' as domain
                FROM customers a
                    LEFT JOIN cities c ON c.c_id=a.d_c_id
                    LEFT JOIN regions b ON b.rg_id=c.c_rg_id
                WHERE a.d_rating is not NULL
                ORDER BY RAND()
                LIMIT 5
        ";
        $query[-1] = $this->querycached($sql);
    
        $sql = "SELECT
                    a.h_id,
                    a.h_name_ru,
                    SUBSTR(a.h_description, 0, 30) as h_description,
                    a.h_rating,
                    c.c_name_url,
                    b.rg_name_url,
                    '".Application_Url_Maker::makeUrl(array(), 'sub-domain2')."' as domain,
                    h_lat,
                    h_lon,
                    h_address,
                    h_phones,
                    d.hs_name_url
                FROM hospitals a
                    LEFT JOIN cities c ON c.c_id=a.h_c_id
                    LEFT JOIN regions b ON b.rg_id=c.c_rg_id
                    LEFT JOIN item_specializations d ON d.hs_id=a.h_hs_id
                WHERE a.h_rating is not NULL
                ORDER BY RAND()
                LIMIT 5
        ";
        $query[1] = $this->querycached($sql);
    
        $tc_ids = $this->db->fetchAll("select tc_id, tc_name_subdomain from type_catalogs where tc_id<>1");
        foreach($tc_ids as $v){
            $sql = "SELECT
                        a.cat_id,
                        a.cat_name_ru,
                        SUBSTR(a.cat_description, 0, 30) as cat_description,
                        a.cat_rating,
                        c.c_name_url,
                        b.rg_name_url,
                        '".Application_Url_Maker::makeUrl(array(), $v['tc_name_subdomain'])."' as domain,
                        cat_lat,
                        cat_lon,
                        cat_address,
                        cat_phones
            FROM catalogs a
                LEFT JOIN cities c ON c.c_id=a.cat_c_id
                LEFT JOIN regions b ON b.rg_id=c.c_rg_id
            WHERE a.cat_tc_id=? and a.cat_rating is not NULL
            ORDER BY RAND()
            LIMIT 5
            ";
            $query[$v['tc_id']] = $this->querycached($sql, array($v['tc_id']));
        }
    
        foreach($query as $k=>$v){
            foreach($v as $k1=>$v1){
                if(isset($v1['cat_name_ru']) && mb_strlen($v1['cat_name_ru']) > $max_name_len){
                    $query[$k][$k1]['cat_name_ru'] = mb_substr($v1['cat_name_ru'], 0, $max_name_len).'...';
                }
                elseif(isset($v1['h_name_ru']) && mb_strlen($v1['h_name_ru']) > $max_name_len){
                    $query[$k][$k1]['h_name_ru'] = mb_substr($v1['h_name_ru'], 0, $max_name_len).'...';
                }
            }
        }
        return $query;
    }

    nergal, 26 Августа 2010

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

    +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
    22. 22
    23. 23
    <!-- Begin
    var months=new Array(13);
    months[1]="января";
    months[2]="февраля";
    months[3]="марта";
    months[4]="апреля";
    months[5]="мая";
    months[6]="июня";
    months[7]="июля";
    months[8]="августа";
    months[9]="сентября";
    months[10]="октября";
    months[11]="ноября";
    months[12]="декабря";
    var time=new Date();
    var date=time.getDate();
    var lmonth=months[time.getMonth() + 1];
    var year=time.getYear();
    if (year < 2000)    // Y2K Fix, Isaac Powell
    year = year + 1900; // http://onyx.idbsu.edu/~ipowell
    document.write(date + " ");
    document.write( lmonth + " "+ year + " года");
    // End -->

    Приспешник Паскаля.
    http://money.webdom.biz/

    Alfred, 24 Августа 2010

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

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    $a = !empty($_POST['a'])?$_POST['a']:null;
       if (empty($_POST['submit']) || !is_numeric($a)) {
         } else {
            echo "Прошол!";

    Vasiliy, 23 Августа 2010

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

    +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
    <?php
    
    $luser=$this->get_authorized_user();
    if (!$luser) retuen -101;
    
    // ...
    
      if (!$lpwd) 
      {
       $db->disconnect();
       return -102;
      }
    
    // ...
    
     if (!is_array($array)){$db->disconnect();return -103;}
      
     if (0 == count($array)){$db->disconnect();return -104;}
    
    // ...
    
     if (!is_array($array)){$db->disconnect();return -105;}
      
     if (0 == count($array)){$db->disconnect();return -106;}

    орфография и правописание сохранены

    вот таких отрицательных "статусов" по всему проекту просто миллион. Только одному автору известно, что они значат.

    и работает это все с неправильно написанным "return" в первом блоке

    user654321, 23 Августа 2010

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

    +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
    <?php
    //...
     $GrabURL = "http://www.google.com/search?q=".$url."&sourceid=opera&num=100&ie=utf-8&oe=utf-8&start=".$page;
      $x=getfile($GrabURL); //автор сделал велосипед-аналог file_get_contents
      $handle = fopen("rip_google.txt","w+");
      fwrite($handle, $x);
      fclose($handle);
      $screen = file("rip_google.txt");
      $content = implode("",$screen);
      // вытягиваем линк
      preg_match_all("!\<h2 class=r\>\<a href=\"(http:.*?)[\"|&]!si" ,$content, $out1, PREG_PATTERN_ORDER);
    //...
    ?>

    Код из парсера гугла. Файл rip_google.txt больше реально нигде не используется. Так же порадовала комбинация строк 8-9.

    mr.The, 22 Августа 2010

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

    +163

    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
    class A
    {
    public:
    	~A();
    };
    
    void A::!A()
    {
    	//destructor
    }
    
    int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR commandLine, int)
    {
    	A* a = new A();
    	delete a;
    
    	return 0;
    }

    Компилируется и РАБОТАЕТ (заходит в этот "деструктор" при удалении объекта) под Visual C++ 2008.
    Перестаёт компилироваться после любого малейшего изменения (например, если убрать void перед реализацией "деструктора").
    КАК?!

    Kirinyale, 21 Августа 2010

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