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

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

    −91

    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
    import sys
    from ru.hastel.gameserver.model.quest import State
    from ru.hastel.gameserver.model.quest import QuestState
    from ru.hastel.gameserver.model.quest.jython import QuestJython as JQuest
    
    qn = "2008_christmas"
    
    class Quest (JQuest) :
    
     def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
    
     def onEvent (self,event,st) :
        htmltext = event
    
        if event == "1":
            if st.getQuestItemsCount(5556) >= 4 and st.getQuestItemsCount(5557) >= 4 and st.getQuestItemsCount(5558) >= 10 and st.getQuestItemsCount(5559) >= 1:
                st.takeItems(5556,4)
                st.takeItems(5557,4)
                st.takeItems(5558,10)
                st.takeItems(5559,1)
                st.giveItems(5560,1)
                htmltext = "<html><body>Merry Christmas.</body></html>"
            else:
                 htmltext = "31863-2.htm"
        elif event == "2":
            if st.getQuestItemsCount(5560) >= 10 :
                st.takeItems(5560,10)
                st.giveItems(5561,1)
                htmltext = "<html><body>Merry Christmas.</body></html>"
            else:
                 htmltext = "31863-3.htm"
        if htmltext != event:
          st.setState(COMPLETED)
          st.exitQuest(1)
    
        return htmltext
    
    
     def onTalk (self,npc,player):
        st = player.getQuestState(qn)
        if not st : return 
        npcId = npc.getNpcId()
        if npcId == 31863 :
           htmltext = "31863-1.htm"
           st.setState(STARTED)
        return htmltext
    
    
    
    QUEST       = Quest(2008,qn,"custom")
    CREATED     = State('Start', QUEST)
    STARTED     = State('Started', QUEST)
    COMPLETED   = State('Completed', QUEST)
    
    QUEST.setInitialState(CREATED)
    
    QUEST.addStartNpc(31863)
    QUEST.addTalkId(31863)

    Вот простенький эвент на Питоне , как улучшить подскажите

    Akira, 19 Декабря 2010

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

    +145

    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
    function _sortSetting( &$smarty, $urlToSort )
    		{
    			// $sort_string = STRING_PRODUCT_SORT;
    			// $sort_string = str_replace( "{ASC_NAME}",   "<a class='sort_orders' href='".$urlToSort."&sort=name&direction=ASC'>".STRING_ASC."</a>",	$sort_string );
    			// $sort_string = str_replace( "{DESC_NAME}",  "<a class='sort_orders' href='".$urlToSort."&sort=name&direction=DESC'>".STRING_DESC."</a>",	$sort_string );
    			// $sort_string = str_replace( "{ASC_PRICE}",   "<a class='sort_orders' href='".$urlToSort."&sort=Price&direction=ASC'>".STRING_ASC."</a>",	$sort_string );
    			// $sort_string = str_replace( "{DESC_PRICE}",  "<a class='sort_orders' href='".$urlToSort."&sort=Price&direction=DESC'>".STRING_DESC."</a>",	$sort_string );
    			// $sort_string = str_replace( "{ASC_RATING}",   "<a class='sort_orders' href='".$urlToSort."&sort=customers_rating&direction=ASC'>".STRING_ASC."</a>",	$sort_string );
    			// $sort_string = str_replace( "{DESC_RATING}",  "<a class='sort_orders' href='".$urlToSort."&sort=customers_rating&direction=DESC'>".STRING_DESC."</a>",	$sort_string );
    			
    			$selected = array();
    			for ($i = 0; $i < 6; ++$i) {
    				$selected[] = "";
    			}	
    			
    			$i = null;
    			if ($_GET["sort"] == "name") {
    				if ($_GET["direction"] == "ASC") {
    					$i = 0;
    				}
    				else {
    					$i = 1;
    				}
    			}
    			else if ($_GET["sort"] == "Price") {
    				if ($_GET["direction"] == "ASC") {
    					$i = 2;
    				}
    				else {
    					$i = 3;
    				}
    			}
    			else if ($_GET["sort"] == "customers_rating") {
    				if ($_GET["direction"] == "ASC") {
    					$i = 4;
    				}
    				else {
    					$i = 5;
    				}
    			}
    			$selected[$i] = " selected=\"selected\"";	
    			$sort_string = <<<HTML
    <script type="text/javascript">
    
    function go(form) {
    	var i = form.sort.selectedIndex;
    	var direction = "DESC";
    	if (i % 2 == 0) {
    		direction = "ASC";
    	}
    	var sort = "customers_rating";
    	if (i < 2) {
    		sort = "name";
    	}
    	else if (i < 4) {
    		sort = "Price";
    	}
    	var url = "{$urlToSort}&sort=" + sort +"&direction=" + direction;
    	// alert(url);
    	window.location = url;
    }
    			
    </script>			
    <form action="#">
    <p>
    	Сортировать по: <select name="sort" onchange="javascript: go(this.form);">
    		<option value="0"{$selected[0]}>имени / возрастанию</option>
    		<option value="1"{$selected[1]}>имени / убыванию</option>
    		<option value="2"{$selected[2]}>цене / возрастанию</option>
    		<option value="3"{$selected[3]}>цене / убыванию</option>
    		<option value="4"{$selected[4]}>оценке / возрастанию</option>
    		<option value="5"{$selected[5]}>оценке / убыванию</option>
    	</select>
    </p>
    </form>							
    HTML;
    			
    			$smarty->assign( "string_product_sort", $sort_string );
    		}

    да мне до пизды

    komprenda, 19 Декабря 2010

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

    +107

    1. 1
    2. 2
    OpenDialog1.Execute;
    Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

    Угадайте, что будет, если в опендиалоге нажать "Отмена".

    PEMOHT, 16 Декабря 2010

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

    +170

    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
    /**
    * custom_field_sort_func is the function that compares 2 arrays and determines the order, used by custom_field_sort
    */
    	function custom_field_sort_func($a, $b=NULL) {
    		static $keys;
    		if($b===NULL)
    			return $keys = $a;
    		foreach($keys as $k)
    		{
    			return strcmp(@$a['custom_field'][$k], @$b['custom_field'][$k]);
    		}
    		return 0;
    	}

    Из проекта написанного на движке cakephp.
    Соответствует так же содержимому самого фреймворка.

    zabuhailo, 14 Декабря 2010

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

    +172

    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
    /*Diablo (18:24:45 10/12/2010)
    кароче я форму вынес в отдельный файл
    
     Diablo (18:24:50 10/12/2010)
    и хотел прицепить её так
    
     Diablo (18:24:55 10/12/2010)*/
    
    $addform = include "post_city.php";
    
     echo ( "$addform" );
    
    /*Aios (18:24:45 10/12/2010)
    и как? работает?))*/
    
     /*Diablo (18:24:50 10/12/2010)
    не ( белую страничку выдает*/

    Я был в шоке)))

    Aios, 10 Декабря 2010

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

    +156

    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
    <?php
    echo "<table border=\"1\">";
    echo "<tr><td>" .$_SERVER['argv'] ."</td><td>argv</td></tr>";
    echo "<tr><td>" .$_SERVER['argc'] ."</td><td>argc</td></tr>";
    echo "<tr><td>" .$_SERVER['GATEWAY_INTERFACE'] ."</td><td>GATEWAY_INTERFACE</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_ADDR'] ."</td><td>SERVER_ADDR</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_NAME'] ."</td><td>SERVER_NAME</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_SOFTWARE'] ."</td><td>SERVER_SOFTWARE</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_PROTOCOL'] ."</td><td>SERVER_PROTOCOL</td></tr>";
    echo "<tr><td>" .$_SERVER['REQUEST_METHOD'] ."</td><td>REQUEST_METHOD</td></tr>";
    echo "<tr><td>" .$_SERVER['REQUEST_TIME'] ."</td><td>REQUEST_TIME</td></tr>";
    echo "<tr><td>" .$_SERVER['QUERY_STRING'] ."</td><td>QUERY_STRING</td></tr>";
    echo "<tr><td>" .$_SERVER['DOCUMENT_ROOT'] ."</td><td>DOCUMENT_ROOT</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_ACCEPT'] ."</td><td>HTTP_ACCEPT</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_CHARSET'] ."</td><td>HTTP_ACCEPT_CHARSET</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_ENCODING'] ."</td><td>HTTP_ACCEPT_ENCODING</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_LANGUAGE'] ."</td><td>HTTP_ACCEPT_LANGUAGE</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_CONNECTION'] ."</td><td>HTTP_CONNECTION</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_HOST'] ."</td><td>HTTP_HOST</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_REFERER'] ."</td><td>HTTP_REFERER</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTP_USER_AGENT'] ."</td><td>HTTP_USER_AGENT</td></tr>";
    echo "<tr><td>" .$_SERVER['HTTPS'] ."</td><td>HTTPS</td></tr>";
    echo "<tr><td>" .$_SERVER['REMOTE_ADDR'] ."</td><td>REMOTE_ADDR</td></tr>";
    echo "<tr><td>" .$_SERVER['REMOTE_HOST'] ."</td><td>REMOTE_HOST</td></tr>";
    echo "<tr><td>" .$_SERVER['REMOTE_PORT'] ."</td><td>REMOTE_PORT</td></tr>";
    echo "<tr><td>" .$_SERVER['SCRIPT_FILENAME'] ."</td><td>SCRIPT_FILENAME</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_ADMIN'] ."</td><td>SERVER_ADMIN</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_PORT'] ."</td><td>SERVER_PORT</td></tr>";
    echo "<tr><td>" .$_SERVER['SERVER_SIGNATURE'] ."</td><td>SERVER_SIGNATURE</td></tr>";
    echo "<tr><td>" .$_SERVER['PATH_TRANSLATED'] ."</td><td>PATH_TRANSLATED</td></tr>";
    echo "<tr><td>" .$_SERVER['SCRIPT_NAME'] ."</td><td>SCRIPT_NAME</td></tr>";
    echo "<tr><td>" .$_SERVER['REQUEST_URI'] ."</td><td>REQUEST_URI</td></tr>";
    echo "<tr><td>" .$_SERVER['PHP_AUTH_DIGEST'] ."</td><td>PHP_AUTH_DIGEST</td></tr>";
    echo "<tr><td>" .$_SERVER['PHP_AUTH_USER'] ."</td><td>PHP_AUTH_USER</td></tr>";
    echo "<tr><td>" .$_SERVER['PHP_AUTH_PW'] ."</td><td>PHP_AUTH_PW</td></tr>";
    echo "<tr><td>" .$_SERVER['AUTH_TYPE'] ."</td><td>AUTH_TYPE</td></tr>";
    echo "</table>"
    ?>

    http://www.php.net/manual/en/reserved.variables.server.php#91080

    Много полезного написано в комментариях в мануале PHP, но есть там и полный бред.

    sectus, 09 Декабря 2010

    Комментарии (16)
  8. Pascal / Говнокод #4816

    +145

    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
    program bag; var numbers, weight, price : array[1..100] of byte; 
    fraction : array[1..100] of real; n, i, f, max, s, temp_i : byte; 
    temp_r : real; begin writeln('Input number of goods and maximal 
    weight: '); readln(n, max); writeln; randomize; for i := 1 to n do 
    begin numbers[i] := i; weight[i] := random(254) + 1; write(weight[i],
    ' '); price[i] := random(254) + 1; write(price[i], ' '); fraction[i]
    := price[i] / weight[i]; writeln(fraction[i]:0:2); end; f := 1; 
    while (f = 1) do begin f := 0; for i := 1 to n-1 do begin if (
    fraction[i] < fraction[i + 1]) then begin if (price[i] < price[i + 1
    ]) then begin temp_r := fraction[i + 1]; fraction[i + 1] := fraction[
    i]; fraction[i] := temp_r; temp_i := weight[i + 1]; weight[i + 1] := 
    weight[i]; weight[i] := temp_i; temp_i := numbers[i + 1]; numbers[i +
    1] := numbers[i]; numbers[i] := temp_i; f := 1; end; end; end; end; 
    s := 0; i := 1; while (s + weight[i] <= max) do begin writeln(numbers
    [i]); s := s + weight[i]; inc(i); end; readln; end.

    Geany отформатировал код :)

    bazhenovc, 02 Декабря 2010

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

    +144

    1. 1
    2. 2
    3. 3
    <?php
    echo "<html><head><meta http-equiv='Refresh' content='0; url=index.php'></head></html>";
    ?>

    Народ, мне сегодня на собеседовании сказали, что такой редирект - это говнокод. Эт правда?

    master_olegi, 26 Ноября 2010

    Комментарии (16)
  10. Java / Говнокод #4732

    +118

    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
    //-----------------------------------------------------------------------------------------------------------
    // Создаю ПОСВИДЧЕННЯ ПРО ВИДРЯДЖЕННЯ
    // Создаю тело документа
    FunForServices.writeToLog(2, ps, "create PPV");
    
    rs1 = stat1.executeQuery("Select D.DEPAR_Name As Dep, rtrim(L.LDAP_Name) as FIO, P.PEOP_Posit As Pos From IPS..PEOP P, IPS..LDAP L, IPS..DEPAR D Where L.LDA_LDAP_Login=D.LDAP_Login and L.LDAP_Login=P.LDAP_Login and L.LDAP_Login='"+rs.getString("Login")+"'");
    rs1.next();
    rez1="<?xml version=''1.0'' ?><u1><st><![CDATA[";
    rez1+="<table width=\"100%\" border=0><tr><td width=\"33%\" align=right><table width=\"33%\"><tr>";
    rez1+="<td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
    rez1+="ЗАТВЕРДЖЕНО</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
    rez1+="наказом Державної податкової</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
    rez1+="адмiнiстрацiї України вiд</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
    rez1+="28.07.97 г. N 260</td></tr></table></td></tr><tr><td><br><br></td></tr><tr><td align=middle><I><B><FONT face=Arial size=4>ПОСВIДЧЕННЯ ПРО ВIДРЯДЖЕННЯ N</FONT></B></I>";
    rez1+="<td>                     </td>";
    //////////////////////////////////////
    //	строк 30 такого
    //////////////////////////////////////
    rez1+="<TR><TD> </TD></TR><TR><TD><TABLE cellSpacing=0 cellPadding=0 width=\"100%\"><TR><TD align=left><STRONG><EM><FONT face=Arial>КЕРIВНИК</FONT></EM></STRONG></TD><TD align=middle id=pod>Пiдпис</TD>";
    rez1+="<TD align=right onclick=StampUtv(\""+sign+"\")><B>"+utvfio+"</B></TD></TR></TABLE></TD></TR><TR><TD> </TD></TR><TR><TD><STRONG><FONT face=Arial>М.П.</FONT></STRONG></TD></TR></TABLE></TD></TR>";
    rez1+="</table>";
    rez1+="]]></tp></u1>";
    
    rs1 = stat1.executeQuery("Declare @Rez int exec GetCardNum "+FunForServices.Year+", '"+rs.getString("Login")+"', 'A', @Rez out Select @Rez");
    rs1.next();
    annNumb1 = rs1.getInt(1);
    
    rs1 = stat1.executeQuery("Declare @Rez int exec GetCardNum "+FunForServices.Year+", '"+rs.getString("Login")+"' , 'C', @Rez out Select @Rez");
    rs1.next();
    ndoc1=rs1.getInt(1);
    FunForServices.CreateBody(ndoc1, 0, "DocB", rez1, stat1);
    FunForServices.writeToLog(2, ps, ndoc1+" for "+rs.getString("Login"));
    
    rs1=stat1.executeQuery("AddDocCard "+rs.getInt("Act")+", '"+utv+"', "+ndoc+", "+rs.getInt("Grup")+", 1, 4,'"+regndoc.substring(0,regndoc.lastIndexOf("-"))+"', 'ПОСВIДЧЕННЯ ПРО ВIДРЯДЖЕННЯ', null,'"+annot+"', 'Нормальный', 4, null, null, null, null, null, null, '"+pk+"', ';"+utv+"', null, ';"+rs.getString("Login")+"', '"+pkdat+"', @IIdDocCard="+ndoc1+", @IIdAttending = "+annNumb1);
    stat1.executeUpdate("Constatation "+ndoc1+", '"+utv+"'");
    FunForServices.writeToLog(6, ps, "");

    лайно з Украïни...

    3.14159265, 24 Ноября 2010

    Комментарии (16)
  11. PHP / Говнокод #4636

    +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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    ..............
    
    $q = mysql_query("SELECT * FROM `$TBL` $WHERE ORDER BY `id`") or die(mysql_error());
    while ($l = mysql_fetch_array($q)) {
    	$result[] = $l;
    	sleep(0.4);
    	$pause = $pause + 0.4;
    
    }
    unset($q);
    
    mysql_close($link);
    
    // получили объект из первой базы
    print ('Получили данные из главной базы N' . $i . '.');
    
    include_once ('start.php');
    
    $sync = rand(10, 99999); // случайное число для проверки синхронизации
    // заносим данные
    
    foreach ($result as $sync_arr) {
    	$id = $sync_arr['id'];
    	//print($id.'<br /><br />');
    	$sch = 0;
    	while ($sch <= 50) {
    		if (isset($sync_arr[$sch])) unset($sync_arr[$sch]);
    		$sch++;
    	}
    
    	$sync_arr['sync'] = $sync;
    
    	$pr = $ExpGlobal['DBCONN']->RowExists($TBL, 'id', $id);
    	if ($pr) {
    		//print_r_pre($sync_arr);
    		$ExpGlobal['DBCONN']->UpdateRow($TBL, $id, $sync_arr);
    		sleep(0.4);
    		$pause = $pause + 0.4;
    
    		$s++;
    	}
    	else {
    		$ExpGlobal['DBCONN']->InsertRow($TBL, $sync_arr);
    		sleep(0.4);
    		$pause = $pause + 0.4;
    
    		$dob++;
    	}
    }
    
    ................

    Что-то вроде синхронизации из одной таблицы с другой...

    Tep, 15 Ноября 2010

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