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

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

    −163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT news_tbl.*, users_tbl.*,
    GROUP_CONCAT(comments_tbl.comments_id) AS commentsid,
    GROUP_CONCAT(CONCAT ('<hr><h6>Navn: ', comments_tbl.name,'</h6>','<p>',comments_tbl.comment, '</p>') SEPARATOR '<br><br>') AS comments, 
    COUNT(comments_tbl.comments_id) AS comments_count
    FROM news_tbl
    LEFT JOIN comments_tbl ON comments_tbl.news_id = news_tbl.news_id
    LEFT JOIN users_tbl ON news_tbl.user = users_tbl.username
    GROUP BY news_tbl.news_id
    ORDER BY news_tbl.news_id DESC LIMIT 5

    Наткнулся на SO.

    Lowezar, 15 Декабря 2012

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

    +45

    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
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <?php
    mysql_connect ("mysql.site.com","мшадрм","пароль") or die (mysql_error());
    mysql_select_db ("mjdjadmjg") or die (mysql_error());
    $strSQL = "INSERT INTO people(";
    $strSQL = $strSQL . "Name, ";
    $strSQL = $strSQL . "E-mail, ";
    $strSQL = $strSQL . "LastName, ";
    $strSQL = $strSQL . "BirthDate) ";
    $strSQL = $strSQL . "VALUES(";
    $strSQL = $strSQL . "'Gus', ";
    $strSQL = $strSQL . "'[email protected]', ";
    $strSQL = $strSQL . "'kruz', ";
    $strSQL = $strSQL . "'1964-04-20')";
    // SQL-оператор выполняется
    mysql_query($strSQL) or die (mysql_error());
    // Закрытие соединения
    mysql_close();
    ?>
    <h1>БД обновлена!</h1>
    </body>
    </html>

    Steep, 13 Декабря 2012

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

    +142

    1. 1
    $model->date = date('Y-m-d H:i:s',mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y')));

    берём текущую дату...

    blackray, 05 Декабря 2012

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

    +75

    1. 1
    Long value = Long.valueOf(String.valueOf(avpValue));

    не специалист по жабе, но пахнет: сначала по всему коду нагородить огородов с Byte/Short/Integer/Long что бы потом в самом важном месте вот так в лоб все в Long конвертить...

    Dummy00001, 03 Декабря 2012

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

    +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
    template <typename A, typename B> 
    class ololo 
    {
    };
    
    template <typename A>
    class ololo <A, int>
    {
    };
    
    template <typename A>
    void bububu ()
    {
    }
    
    template <>
    void bububu <int> ()
    {
    }
    
    template <typename A, typename B> 
    void kokoko  ()
    {
    }
    
    template <typename A>
    void kokoko <A, int> ()
    {
    }

    http://www.gamedev.ru/flame/forum/?id=169781
    tarasboproblemi

    LispGovno, 29 Ноября 2012

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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private static class NullReader extends Reader {
        public int read(char[] cbuf, int off, int len) {
            return 0;
        }
        public void close() {}
    }

    Однажды понадобилось работать с модулем, который что-то читает с помощью StreamTokenizer, но вместо реального файла подсовывать ему что-то своё, генерируемое на ходу, и при этом быть в курсе, какое место он сейчас читает. Решил пронаследоваться от StreamTokenizer и переопределить ему nextToken(). Оказалось, что у StreamTokenizer нет пустого конструктора, надо обязательно вызвать super и передать туда какой-нибудь Reader. Попробовал передавать null - оказалось, что в его конструкторе стоит проверка, которая сразу кидает NullPointerException. Блин, зачем ему Reader, если он к этому Reader никогда не обратится, ведь я nextToken переопределил! Пришлось сделать свой Reader-заглушку. Но чтобы пронаследоваться от абстрактного Reader, нужно обязательно определить методы read и close. Вот такая шняга в итоге получилась. Недавно случайно открыл код на этом месте и долго на неё пялился :-)

    GoblinAlchemist, 23 Ноября 2012

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

    +139

    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
    <div class="slogan">
      <table>
        <tbody>
          <tr>
            <td>В</td>
            <td class="r"> </td>
            <td>с</td>
            <td class="r"> </td>
            <td>ё</td>
            <td> </td>
            <td class="r"> </td>
            <td>ч</td>
            <td class="r"> </td>
            <td>т</td>
            <td class="r"> </td>
            <td>о</td>
            <td> </td>
            <td class="r"> </td>
            <td>д</td>
            <td class="r"> </td>
            <td>в</td>
            <td class="r"> </td>
            <td>и</td>
            <td class="r"> </td>
            <td>ж</td>
            <td class="r"> </td>
            <td>е</td>
            <td class="r"> </td>
            <td>т</td>
            <td class="r"> </td>
            <td>с</td>
            <td class="r"> </td>
            <td>я</td>
          </tr>
        </tbody>
      </table>
    </div>

    Разрядка слогана "ВСЁ ЧТО ДВИЖЕТСЯ" на motor.ru

    Yurik, 18 Ноября 2012

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

    −123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Запрос = Новый Запрос;
     Запрос.Текст = "какой-то там текст запроса с параметрами <Вариант> и <НеВариант>"
     
     Запрос.УстановитьПараметр("Вариант", ?(Вариант = Истина, Истина, Ложь));
     Запрос.УстановитьПараметр("НеВариант", ?(Вариант = Истина, Ложь, Истина));

    Упрощается все до ...("Вариант", Вариант) и ...("НеВариант", Не Вариант) (хотя два параметра, зависящие от одной переменной уже не ок)

    Теперь по офису на вопрос: "А можно ли упростить?" сразу летит в ответ сакральное "НЕ ВАРИАНТ!!!"

    nixel, 08 Ноября 2012

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

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ..........
     WHERE
         a.id_contact = b.id AND b.company_id = d.id AND
         RIGHT( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( a.phone, ' ', '' ) , '(', '' ) , ')', '' ) , '-', '' ) , '+', '' ) , 7 )
         LIKE '5085532'
     LIMIT 1

    Кусок запроса, увиденный в списке процессов MySQL

    Lblss, 07 Ноября 2012

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

    +134

    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
    stroka="Hello world!";
     
    SubStringStartWith(Char, String)
    {
            return strchr(String, Char);
    }
     
    #define cl 'w'
     
    main() 
    {
            printf("In character literal \'%c\' %d bytes \n", cl, sizeof(cl));
            printf("In string \"%s\" substring, that start with \'%c\' char is \'%s\'", stroka, cl,  SubStringStartWith(cl, stroka));
            return 0;
    }

    Оттуда же. Вот уж воистину говнокода-генераторы.
    http://ideone.com/ICydFM

    LispGovno, 06 Ноября 2012

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