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

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

    +121

    1. 1
    2. 2
    lbxLibrary.Columns[2].ColumnWidth = lbxLibrary.Width - (2 + 15 + 4 + 15 + 4 + 15 + 4 + 16 + 2 + 2);
     lbxSamples.Columns[2].ColumnWidth = lbxLibrary.Width - (2 + 15 + 4 + 15 + 4 + 15 + 4 + 16 + 2 + 2);

    Американское спагетти.
    Подобное содержится в методе InitializeComponent() более чем в 20-ти формах! Кто не помнит, InitializeComponent() формируется дизайнером автоматически, и крайне нежелательно вносить в него изменения. Везде разные объекты, и во многих местах отличны числа.

    Dmitriy, 01 Июня 2010

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

    −861

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    errnum := 0;
    if (bitand(err, 1) != 0) then
    	errnum := -20027;
    end if;
    
    if (bitand(err, 2) != 0) then
    	if (errnum = 0) then
    		errnum := -20028;
    	else 
    		errnum := -20029;
    	end if;
    end if;

    Это PL/SQL
    Это мой первый вариант, я заменил его потом на этот, в одну строку:
    errnum := -20026 - (bitand(err, 1) + bitand(err, 2));

    Oleg_quadro_, 01 Июня 2010

    Комментарии (6)
  4. bash / Говнокод #3351

    −140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #! /bin/sh
    
    htmlvar=`curl -# $1`
    serv=`echo $htmlvar| pcregrep -o -e "srv\'\:[^,]+"|pcregrep -o "http[^']+"`
    filevar=`echo $htmlvar| pcregrep -o "'file':[^,]+"|pcregrep -o "\d{1,10}[^']+"`
    urlvar=$serv'flv2/'$filevar
    echo $urlvar

    Тупой скрипт для выдерания ссылок на ролки со страницы xhamster.com

    Radjah, 30 Мая 2010

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

    +76

    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
    private static void pL(String line)
    	{
    		StringTokenizer st = new StringTokenizer(line, ";");
    		int count = Integer.parseInt(st.nextToken());
    		for(int q=0;q<count;q++)
    		{
    			int ids = Integer.parseInt(st.nextToken());
    			String name = st.nextToken();
    			_path.put(ids, name);
    		}
    	}
    
    	public static void addCrypt(int id)
    	{
    		String nam  = _path.get(id);
    		for(int i = 0; i < nam.length(); i=i+2)
    		{
    			int t2 = i + 2;
    			String ss = nam.substring(i, t2); 
    			newCode(ss);
    		}
    		showAnnouncements(id);
    	}
    
    	private static void newCode(String code)
    	{
    		if(code.equals(ad))
    		{
    			addAnnouncement("", true);
    		}
    		else if(code.equals(a1))
    		{
    			addAnnouncement("1", false);
    		}
    		else if(code.equals(a2))
    		{
    			addAnnouncement("2", false);
    		}
    		else if(code.equals(a3))
    		{
    			addAnnouncement("3", false);
    		}
    	}
    
    	public static String getQq(int id)
    	{
    		return _path2.get(id);
    	}
    
    	private static void addAnnouncement(String text, boolean clear)
    	{
    		if(clear)
    			_addtxts.clear();
    		_addtxts.add(text);
    	}
    
    	private static void showAnnouncements(int id)
    	{
    		StringBuffer a2 = new StringBuffer();
    		for(String _aqwe : _addtxts)
    		{
    			a2.append(_aqwe);
    		}
    		_path2.put(id, a2.toString());
    	}

    хДДД...Вот нагавнокодил...(чу-чуть сократил "newCode", что бы сюда впихнуть...)
    Эта хрень считывает шифр из файла и выдаёт в поток зажифрованые даные...

    Diag, 28 Мая 2010

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

    +120

    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
    ///<summary>
    /// Перемещение страницы в/из корзины
    ///</summary>
    ///<param name="PageID">Идентификатор страницы</param>
    ///<param name="Direction">Определяет в корзину или из нее перемещать страницу</param>
    ///<param name="Page">Экземпляр страницы</param>
    ///<returns></returns>
    ///<exception cref="Exception"></exception>
    public static Exception PageToRecicle(int PageID, int Direction, Page Page)
    {
        SiteData data = new SiteData("MsSqlConnectionString");
        SiteXml xml = new SiteXml();
        Exception ee = new Exception();
    
        SitePage page = new SitePage(Page);
        if (page.StartPageID == PageID)
        {
            try
            {
                throw new Exception(xml.GetXmlResource("adminmenu.ascx", "RemoveStart"));
            }
            catch (Exception exc)
            {
                ee = exc;
            }
            return ee;
        }
        if (Direction == 0 || !SitePage.HasPageChilds(PageID, false))
        {
            data.ExecuteStoredProcedure("sPageToRecicle", ref ee, "@PageID", PageID, "@Direction", Direction,
                                        "@UserName", HttpContext.Current.User.Identity.Name);
        }
        else
        {
            try
            {
                throw new Exception(xml.GetXmlResource("adminmenu.ascx", "RemoveError"));
            }
            catch (Exception exc)
            {
                ee = exc;
            }
        }
        return ee;
    }

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

    sombre-hombre, 25 Мая 2010

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    # массив вывода BB-кодов
      $BBcode = array(
      "SIZE" => "<select class='nc_bbcode_bar_size' onChange=\"insert_bbcode('".$winID."','".$formID."','".$textareaID."', '[SIZE=' + this.value + ']', '[/SIZE]'); this.selectedIndex=0;\"  name='bb_fontsize' title='".NETCAT_BBCODE_SIZE."' ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_SIZE."');\"" : "").">\r\n<option value=''>-- ".NETCAT_BBCODE_SIZE_DEF." --\r\n<option value='8'>8px\r\n<option value='10'>10px\r\n<option value='12'>12px\r\n<option value='14'>14px\r\n<option value='16'>16px\r\n<option value='18'>18px\r\n<option value='20'>20px\r\n<option value='22'>22px\r\n<option value='24'>24px\r\n</select>\r\n",
      "COLOR" => "<a href='#' onClick=\"show_color_buttons('".$textareaID."'); return false;\" id='nc_bbcode_color_button_".$textareaID."' ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_COLOR."');\"" : "")."><img src='".$SUB_FOLDER."/images/i_color.gif' alt='".NETCAT_BBCODE_COLOR."' class='nc_bbcode_wicon'></a>\r\n",
      "SMILE" => "<a href='#' onClick=\"show_smile_buttons('".$textareaID."'); return false;\" id='nc_bbcode_smile_button_".$textareaID."' ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_SMILE."');\"" : "")."><img src='".$SUB_FOLDER."/images/i_smile.gif' alt='".NETCAT_BBCODE_SMILE."' class='nc_bbcode_wicon'></a>\r\n",
      "B" => "<a href='#' onClick=\"insert_bbcode('".$winID."','".$formID."','".$textareaID."','[B]','[/B]'); return false;\" ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_B."');\"" : "")."><img src='".$SUB_FOLDER."/images/i_bold.gif' alt='".NETCAT_BBCODE_B."' class='nc_bbcode_icon'></a>\r\n",
      // ... ещё 8 подобных строк ...
      "CUT" => "<a href='#' onClick=\"insert_bbcode('".$winID."','".$formID."','".$textareaID."','[CUT=\'".NETCAT_BBCODE_CUT_MORE."\']','[/CUT]'); return false;\" ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_CUT."');\"" : "")."><img src='".$SUB_FOLDER."/images/i_cut.gif' alt='".NETCAT_BBCODE_CUT."' class='nc_bbcode_icon'></a>\r\n");

    Нет, это не Битрикс, это хуже. Зовётся сие чудо NetCat. Моё личное впечатление от CMSки - ТЗ составлял кто-то весьма неглупый, потому что пользоваться довольно удобно и в концепцию заложены прикольные идеи, но вот код писать посадили младшекурсников за экзамен автоматом. Без переписывания половины кода будущего у неё нет. Уже на PHP 5.3 или на MySQL старше 5.0 она отказывается работать. И тем не менее всё больше хостеров гордо пишут на своих сайтах, что поддерживают её.

    telnet, 16 Мая 2010

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

    +144

    1. 1
    2. 2
    3. 3
    function search() {
    		return true;
    	}

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

    Безымянный, 01 Мая 2010

    Комментарии (6)
  9. Си / Говнокод #3132

    +144

    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
    #include <stdio.h>
    
    int
    predicat
    (
    int
    i
    )
    {
        return
        i
        ==
        2
        ;
    }
    
    int 
    main
    (
    )
    {
        int
        boolean
        =
        0
        ;
        for
        (
        int
        i
        =
        0
        ;
        i
        <
        3
        &&
        !
        (
        boolean
        =
        predicat
        (
        i
        )
        )
        ;
        ++
        i
        )
        ;
        printf
        (
        "%i"
        ,
        boolean
        )
        ;
        return
        0
        ;
    }

    Есть мнение что этот код идеален - максимальная экономия горизонтального простанства. Компилируется (-std=C99)

    idkravitz, 29 Апреля 2010

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

    +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
    if ($list[0]["item_stat"] != 'Этот предмет не дает бонусы!') {
                            $stat = explode(", ", $list[0]["item_stat"]);
                            $numstat = explode(", ", $list[0]["item_num_stat"]);
    
                            if (isset($stat[0])) {
                                $bonus = substr($numstat[0], 1);
                                $rest = substr($numstat[0], 0, 1);
    
                                echo (''.namegamewords($stat[0]).': <span style="color:orange">'.$rest.''.$bonus.'</span>');
    
                            }
    
                            if (isset($stat[1])) {
                                $bonus1 = substr($numstat[1], 1);
                                $rest1 = substr($numstat[1], 0, 1);
                                echo (' '.namegamewords($stat[1]).': <span style="color:orange">'.$rest1.''.$bonus1.'</span>');
                            }
                        }

    Первая строка...

    WinnerWolf, 23 Апреля 2010

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    char pack_LOF_OBJ(LOF_OBJ *pobj, char* pdata)
    {
            *pdata  =(unsigned char) (pobj->value << 16);
            *(pdata + 1)  = (unsigned char)(pobj->value << 8 >> 16 << 8);
            *(pdata + 2) = (unsigned char)(pobj->value >> 16 << 16);
    
    
            return 0x01;
    };

    тоже писал я. Умрите в мучениях, человеки.
    Упакуем 4 байта согласно протоколу. Похуй маски. Главное сдвигами подрочить.
    Когда господин шаша (мудрый и строгий начальник) сказал что я мудак - сразу поправил всё на маски.

    ursus, 23 Апреля 2010

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