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

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

    +123

    1. 1
    2. 2
    3. 3
    if (!(IsPostBack == true))
    
    // далее везде, см. ссылку

    Реальный индус (Thoothukudi, Tamil Nadu, India) в реальном вопросе на StackOverflow (http://stackoverflow.com/questions/5295149/) наложил натуральную кучу говна.

    abatishchev, 14 Марта 2011

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

    +168

    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
    function ProcButton0()
    {
     var s=document.getElementById("InputN").value;
     if (s!="")
     {
      s+="0";
     }
     document.getElementById("InputN").value=s;
    }
    function ProcButton1()
    {
     document.getElementById("InputN").value+="1";
    }
    function ProcButton2()
    {
     document.getElementById("InputN").value+="2";
    }
    function ProcButton3()
    {
     document.getElementById("InputN").value+="3";
    }
    function ProcButton4()
    {
     document.getElementById("InputN").value+="4";
    }
    function ProcButton5()
    {
     document.getElementById("InputN").value+="5";
    }
    function ProcButton6()
    {
     document.getElementById("InputN").value+="6";
    }
    function ProcButton7()
    {
     document.getElementById("InputN").value+="7";
    }
    function ProcButton8()
    {
     document.getElementById("InputN").value+="8";
    }
    function ProcButton9()
    {
     document.getElementById("InputN").value+="9";
    }
    function ProcButtonClear()
    {
     document.getElementById("InputN").value="";
    }

    С сайта о программировании (#5809).
    http://codesite.hut2.ru/JavaScriptTests/Factorial/

    7ion, 26 Февраля 2011

    Комментарии (29)
  4. Pascal / Говнокод #5807

    +131

    1. 1
    if (Edit40.Text<>t1) and (Edit38.Text<>t1) and (Edit36.Text<>t1) and (Edit34.Text<>t1) and (Edit32.Text<>t1) and (Edit30.Text<>t1) and (Edit28.Text<>t1) and (Edit26.Text<>t1) and (Edit24.Text<>t1) and (Edit22.Text<>t1) and (Edit20.Text<>t1) and (Edit18.Text<>t1) and (Edit16.Text<>t1) and (Edit14.Text<>t1) and (Edit12.Text<>t1) and (Edit10.Text<>t1) and (Edit8.Text<>t1) and (Edit6.Text<>t1) and (Edit4.Text<>t1) and (edit2.Text<>t1) ...

    Старый мем с форума:
    "Здрасте, вообщем такая проблемка:
    У меня Unit10.pas занимает 13378 КБ (13.0 МБ)
    И при работе в коде 10 формы после 5-10 изменений делфи начинает виснуть на 5-20 сек. (приходится вырезать весь текс кроме нужной процедуры и т.д, вставлять в блокнот, писать процедуру и затем обратно вставлять в делфи вырезанный текст из блокнота).
    И компелируется тож долговато.
    Всего 59988 строк.
    На строчке 400-500 знаков (эт только там где условие, но часть условия(для удобства) переходит на 2 строчку (если все вместить, то будет примерно 35000 строк))
    ____________________________________
    Постараюсь нормально сформулировать что хочу сделать.
    Есть часть условия:
    (код выше. прим. ReallyBugMeNot)
    ____________________________________
    Оно повторяется если быть точным 4200 раз.
    Изменяются только "номера\имена" эдитов (только четные от 2 до 240) и "t1" (t2, t3, t4, .. ,t35).
    Хотелось бы задать переменную (Например "Z") и присвоить ей это условие, но так чтобы переменные "t1, t2, t3, .. ,t35)" и "имена\номера" эдитов задавались в каждой процедуре (всего 6 процедур), где находится оставшееся часть условия.
    Можите подсказать как мне это реализовать?
    Зарание спс."

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

    ReallyBugMeNot, 25 Февраля 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function tpl_include($filepath) {
    
        global $lang;
        global $lang_array;
        $tpl_body = file_get_contents($filepath);
        $tpl_body = preg_replace('/\{loop \$(.*?)\}\n(.*?)\n\{\/loop\}/i', "\nEOL;\nforeach ($\\1 as \$var=>\$val) echo <<<EOL\n\\2\nEOL;\necho <<<EOL\n", $tpl_body);
        $to_eval = "echo <<<EOL\n".$tpl_body."\nEOL;\n";
        eval($to_eval);
    
    }

    Вчера срочно и быстро понадобился шаблонизатор в один проект.
    Синтаксис: {$variable} и
    {loop $some_array}
    $var хранит $val
    {/loop}

    7ion, 13 Февраля 2011

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

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #if __STDC_WANT_SECURE_LIB__
    _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl wcscat_s(_Inout_z_cap_(_SizeInWords) wchar_t * _Dst, _In_ rsize_t _SizeInWords, _In_z_ const wchar_t * _Src);
    #endif
    __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, wcscat_s, _Deref_prepost_z_ wchar_t, _Dest, _In_z_ const wchar_t *, _Source)
    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(wchar_t *, __RETURN_POLICY_DST, _CRTIMP, wcscat, _Pre_cap_for_(_Source) _Prepost_z_, wchar_t, _Dest, _In_z_ const wchar_t *, _Source)
    _Check_return_ _CRTIMP _CONST_RETURN wchar_t * __cdecl wcschr(_In_z_ const wchar_t * _Str, wchar_t _Ch);
    _Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t * _Str1, _In_z_ const wchar_t * _Str2);
    #if __STDC_WANT_SECURE_LIB__
    _Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl wcscpy_s(_Out_z_cap_(_SizeInWords) wchar_t * _Dst, _In_ rsize_t _SizeInWords, _In_z_ const wchar_t * _Src);
    #endif

    Хедеры из Microshit Visual Studio. Там так почти везде...

    Говногость, 02 Февраля 2011

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

    +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
    if(!isset($_SESSION['captcha'])) $error = "Please Enable Cookies";
        else {
            $name = $_POST["name"];
            $msg = $_POST["msg"];
            if(strlen($msg) <= 2)
            {   $error = "слишком маленькое сообщение";   }
            else if($_POST["captcha"] !== $_SESSION["captcha"])
            {   $error = "символы не введено не верно";   }
            else if(strlen($name) > 25)
            {   $error = "слишком длиное имя"; }
            else if(strlen($msg) > 256)
            {   $error = "слишком длиное сообщение"; }
            else if(strlen($name) > 25 && strlen($msg) >256)
            {   $error = "слишком длинное имя и сообщение";  }
            else if(strlen($name) <= 25 && strlen($msg) <=256)
            {
                    $msg = str_value($msg);
                    if($msg == "") $error = "введите сообщение";
                    else {
                        write_file($name,$msg);
                        $d2d_1 = mktime(0,0,0,1,1,2037);
                        setcookie('nameData',$name,$d2d);
                        $error = "";
                    }
                }
            }
        }

    сперто из гостевой книги

    skylex_hacker, 21 Января 2011

    Комментарии (29)
  8. Java / Говнокод #5335

    +75

    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
    public static Cursor getListGroupCursor(Activity activity,
    			ShopListItem list, boolean marked) {
    		long state = marked ? Cells.PURCHAZED_STATE : Cells.WANT_TO_BUY_STATE;
    		String where;
    		String[] arg;
    		if (list.isAutoList()) {
    			where = Cells.STATE + " = ?";
    			arg = new String[] { Long.toString(state) };
    		} else {
    			where = Cells.LIST_ID + " = ? AND " + Cells.STATE + " = ?";
    			arg = new String[] { Long.toString(list.getId()),
    					Long.toString(state) };
    		}
    
    		Cursor c = activity.managedQuery(Cells.CONTENT_URI,
    				new String[] { Cells.CATEGORY_ID }, where, arg,
    				Cells.DISTINCT_SORT_ORDER);
    
    		ArrayList<Long> ids = new ArrayList<Long>();
    		while (c != null && c.moveToNext()) {
    			ids.add(new Long(c.getLong(c.getColumnIndex(Cells.CATEGORY_ID))));
    		}
    		if (c != null) {
    			c.close();
    		}
    		int count = ids.size();
    		String whereGroup = null;
    		String[] argGroup = null;
    		if (count > 0) {
    			whereGroup = "";
    			argGroup = new String[count];
    			for (int i = 0; i < count; i++) {
    				if (i < count - 1) {
    					whereGroup += (Categories._ID + "= ? OR ");
    				} else {
    					whereGroup += (Categories._ID + "= ?");
    				}
    
    				argGroup[i] = Long.toString(ids.get(i));
    				// Log.i(tag, "getListGroupCursor "+argGroup[i]);
    			}
    		} else {
    			whereGroup = Categories._ID + "= -1";
    		}
    		Cursor groupCursor = activity.managedQuery(Categories.CONTENT_URI,
    				null, whereGroup, argGroup, Categories.DEFAULT_SORT_ORDER);
    		return groupCursor;
    	}

    Работа с ContentProvider в android. Выборка категорий, id которых присутствуют в результатах первой выборки (по признаку)

    rphx, 19 Января 2011

    Комментарии (29)
  9. SQL / Говнокод #5045

    −188

    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
    UPDATE 
    	phplist_user_user 
    SET 
    	email = (
    		SELECT 
    			Email 
    		FROM 
    			User, phplist_usersubscribers 
    		WHERE 
    			phplist_usersubscribers.userid = User.Id 
    			AND 
    			phplist_usersubscribers.subscribersid = phplist_user_user.id 
    			AND 
    			NOT (Email IS NULL) 
    			LIMIT 1
    			) 
    	WHERE 
    		NOT (
    			(SELECT 
    				id 
    			FROM 
    				phplist_usersubscribers 
    			WHERE 
    				phplist_usersubscribers.subscribersid = phplist_user_user.id 
    			LIMIT 1
    			) IS NULL
    			)

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

    maghamed, 24 Декабря 2010

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

    +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
    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
    for ($i = $bstart; $i < $bend; $i++) 
    {
    	// ГЛАВНАЯ BASE НЕТУ
    	
    	if (empty($_REQUEST['base']) && $i == 1) 
    	{
    		$pagin .= '<strong><font color=#980101>' . $i . '</font></strong>&nbsp;&nbsp;';
    	}
    	if (empty($_REQUEST['base']) && $i != 1) 
    	{	
    		$b_start = (ARTICLE_VIEW * $i) - ARTICLE_VIEW;
    		$query_news = $sn . record_lanuage($page) . $ot . $b_start . ", " . ARTICLE_VIEW;
    		$res = mysql_query($query_news) or die(error($query_news));		
    		
    		if ($db->nr($res))
    		{
    			$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . $i . $base_mmt . '">' . $i . '</a>&nbsp;&nbsp;';
    		}
    		else
    		{
    			$pagin .= '<font>' . $i . '</font>&nbsp;&nbsp;';
    		}
    		if ($i == $bend - 1 && $db->nr($res) != 0)
    		{
    			$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . ($i + 1) . $base_mmt . '">&gt;</a>';
    		}
    	}
    	
    	// ГЛАВНАЯ BASE ЕСТЬ
    	
    	if (!empty($_REQUEST['base']) && $i < $_REQUEST['base']) 
    	{	
    		$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . $i . $base_mmt . '">' . $i . '</a>&nbsp;&nbsp;';
    	}
    	if (!empty($_REQUEST['base']) && $i >= $_REQUEST['base']) 
    	{			
    		$b_start = (ARTICLE_VIEW * $i) - ARTICLE_VIEW;
    		$query_news = $sn . $q . $ot . $b_start . ", " . ARTICLE_VIEW;
    		
    		$res = mysql_query($query_news) or trigger_error($sql);
    		
    		if ($_REQUEST['base'] == $i) 
    		{
    			$pagin .= '<strong><font color=#980101>' . $i . '</font></strong>&nbsp;&nbsp;';
    		}
    		if ($_REQUEST['base'] < $i) 
    		{
    			if ($db->nr($res) != 0) 
    			{
    				$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . $i . $base_mmt . '">' . $i . '</a>&nbsp;&nbsp;';
    			}
    			else
    			{
    				$pagin .= '<font>' . $i . '</font>&nbsp;&nbsp;';
    			}
    		}
    		if ($db->nr($res) != 0 && substr($i, strlen($i) - 1) == 0)
    		{
    			$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . ($i + 1) . $base_mmt . '">&gt;</a>';
    		}
    	}
    }

    пагинация длиной в 130 строк и даже не функция, выложил только основную EPIC часть, которая существовала в отдельном файле!

    Genka, 19 Декабря 2010

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

    +127

    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
    //TODO: Delete the comment after a successful test.
    
    var Client = new TcpClient();
    
    int a = num._.i.i.i.i.i;
    int b = num._.i.i.i.u.d;
    int c = (((num)(a + b)).l++.u+b).u.i.i;
    
    // port = 726
    int port = a + b + c;
    
    // ips = "127.0.0.1"
    string ips = ip._.i.u.i.i.i.u.d.d.d.s['.'].s['.'].s['.'].i.s;
    
    Client.Connect(ips, port);

    Very hard-hard code!

    vanished, 18 Декабря 2010

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