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

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

    +158

    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
    class SomeClass
    {
    public:
        SomeClass(bool evenlope = true)
        {
            if(evenlope)
            {
                if (IsVistaOrGreater())
                    mLetter = new SomeClassVista;
                else
                    mLetter = new SomeClassXP;
            }
            else
                mLetter = 0;
        }
        virtual ~SomeClass() { delete mLetter; }
        virtual bool Foo(int param) { return mLetter->Foo(param); }
    private:
        SomeClass* mLetter;
    };
    
    class SomeClassXP : public SomeClass
    {
    public:
            SomeClassXP():SomeClass(false) { /* ... */ }
    	~SomeClassXP() { /* ... */ }
    	virtual bool Foo(int param) { /* ... */ }
    };

    Нужно было добавить поддержку новых настроек висты и семёрки, которые нельзя изменить через старый интерфейс. Наговнякал.

    rat4, 07 Декабря 2010

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

    +172

    1. 1
    2. 2
    3. 3
    4. 4
    for($i;$i<strlen($param);$i++)
            {
                if(strpos($extra,$param[$i]) === FALSE && eregi('[^a-zA-Z]', $param[$i] )) return false;
            }

    Проверка, что строка состоит только из букАвок. com_rsform для Joomla. Там весь validation.php таким измазан.

    young, 06 Декабря 2010

    Комментарии (5)
  4. C# / Говнокод #4814

    +117

    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
    private void DBGridCategories_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
            {
                int rowsCount = (sender as DataGridView).RowCount;
                if ((rowsCount >= 0) && (rowsCount < 100))
                {
                    (sender as DataGridView).RowHeadersWidth = 30;
                }
                else
                {
                    if ((rowsCount >= 100) && (rowsCount < 1000))
                    {
                        (sender as DataGridView).RowHeadersWidth = 40;
                    }
                    else
                    {
                        if ((rowsCount >= 1000) && (rowsCount < 10000))
                        {
                            (sender as DataGridView).RowHeadersWidth = 50;
                        }
                        else
                        {
                            if ((rowsCount >= 10000) && (rowsCount < 100000))
                            {
                                (sender as DataGridView).RowHeadersWidth = 65;
                            }
                        }
                    }
                }
                using (SolidBrush brush = new SolidBrush(Color.Red))
                {
                    e.Graphics.DrawString((e.RowIndex + 1).ToString(System.Globalization.CultureInfo.CurrentUICulture) + ".", e.InheritedRowStyle.Font, brush, e.RowBounds.Location.X + 10, e.RowBounds.Location.Y + 1);
                }
            }

    школьный профессионал ))

    Maxim546, 02 Декабря 2010

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

    +141

    1. 1
    <input type="hidden" id="id1" name="id1" value="someVal" readonly="readonly" style="background-color:Transparent;border:none;" />

    Стилизованный readonly hidden

    zheka, 01 Декабря 2010

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

    +151

    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
    function clean_url ($url) {
    
      if ($url == '') return;
    
      $url = str_replace("http://", "", strtolower($url));
      $url = str_replace("https://", "", $url );
      if (substr($url, 0, 4) == 'www.')  $url = substr($url, 4);
      $url = explode('/', $url);
      $url = reset($url);
      $url = explode(':', $url);
      $url = reset($url);
    
      return $url;
    }
    
    
    if (clean_url($_SERVER['HTTP_REFERER']) != clean_url($_SERVER['HTTP_HOST'])) die("Hacking attempt!");

    DLE 9.0, /engine/modules/antibot.php
    В браузере выключена передача реферера, последняя строчка особо не нужна, ибо HTTP_REFERER не подделывают только из-за лени, а вот полезные пользователи действительно страдают.
    Да и получение хоста из реферера радует.

    Morgan, 29 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    public partial class TaskViewSearchParameter
    {
        public int Top5 { get; set; }
    }

    Часть класса одного из наших проектов

    ZlobnyiSerg, 25 Ноября 2010

    Комментарии (5)
  8. C++ / Говнокод #4748

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    QTextEdit *qte = new QTextEdit();
                    qte->setHtml(doc->toHtml());
                    qte->selectAll();
                    qte->textCursor().mergeBlockFormat(format);
                    qte->setTextColor(this->getTextForecolor());
                    doc->setHtml(qte->toHtml());
                    delete qte;

    Задание цвета текста QTextDocument (doc) через анал.

    des-1008d, 25 Ноября 2010

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // Setted bit
    	private static final int TRUE_BIT = 1;
    
    ...
    	public static final int LAST_PARAGRAPH = 0x01;
    	public static final int FIRST_PARAGRAPH = 0x02;
    ...
    	
    	if (TRUE_BIT == (paragraphFlag & ParagraphProperties.FIRST_PARAGRAPH) >>> 1) {

    mlg7, 24 Ноября 2010

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

    −849

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    -- Очищаем поле [PlanItemCodeNorm] от всех записей содержащих не цифры и точку
    UPDATE PIM SET [PlanItemCodeNorm] = ''
    -- SELECT PIM.*
    FROM [dbo].[PlanItem] PIM
    WHERE [PlanItemCodeNorm] <> ''
        AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
            REPLACE([PlanItemCodeNorm], '.', '' )
            , '0', '' ), '1', '' ), '2', '' ), '3', '' ), '4', '' ), '5', '' ), '6', '' ), '7', '' ), '8', '' ), '9', ''), '*', '' )
            <> ''

    ....

    HellMaster_HaiL, 23 Ноября 2010

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

    +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
    38. 38
    39. 39
    40. 40
    function poс()
    {
    course = $('#points').text()
    if(course > 10) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (чёрная кошка)', message:'Пользователь Гость заказал стикер (чёрная кошка).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }
    function pod()
    {
    course = $('#points').text()
    if(course > 15) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (миллион долларов)', message:'Пользователь Гость заказал стикер (миллион долларов).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }
    function poe()
    {
    course = $('#points').text()
    if(course > 20) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (на счастье)', message:'Пользователь Гость заказал стикер (на счастье).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }
    function pof()
    {
    course = $('#points').text()
    if(course > 25) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (+100)', message:'Пользователь Гость заказал стикер (+100).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }
    function pog()
    {
    course = $('#points').text()
    if(course > 15) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (настоящий мужчина)', message:'Пользователь Гость заказал стикер (настоящий мужчина).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }

    И так 16 функций...

    qePH, 22 Ноября 2010

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