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

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

    +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
    ...
    <body>
    <form action="top1.php" method="get">
    <input type="checkbox" value="f1()" name="a1"  > Windows 2000
    <input type="checkbox" value="f2()" name="a2"  > Windows 7
    </form>
    </body>
    </html>
     
    <?php
    function f1(){
    if($_POST['a1']){
    echo 'Good';
    }else
    echo 'bad';
    }
    ?>

    Автор этого чуда хотел, чтоб
    "При отметке галочкой первого чекбокса должно ниже самих чекбоксов вывестись слово good"

    administation, 11 Июля 2010

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

    +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
    07.07.2010 14:49:14 com.mchange.v2.c3p0.C3P0Registry banner
    INFO: Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace:
     10]
    07.07.2010 14:49:15 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoo
    lManager
    INFO: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acqu
    ireIncrement -> 5, acquireRetryAttempts -> 0, acquireRetryDelay -> 500, autoComm
    itOnClose -> true, automaticTestTable -> connection_test_table, breakAfterAcquir
    eFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null,
    connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, d
    ataSourceName -> mo0lz2891bvagwh7rwflk|11e1e67, debugUnreturnedConnectionStackTr
    aces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factor
    yClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToke
    n -> mo0lz2891bvagwh7rwflk|11e1e67, idleConnectionTestPeriod -> 3600, initialPoo
    lSize -> 10, jdbcUrl -> jdbc:mysql://localhost/mysql, maxAdministrativeTaskTime
    -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0
    , maxPoolSize -> 10, maxStatements -> 0, maxStatementsPerConnection -> 100, minP
    oolSize -> 10, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0
    , preferredTestQuery -> null, properties -> {user=******, password=******}, prop
    ertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> fa
    lse, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false
     ]
    07.07.2010 14:49:15 com.l2scoria.loginserver.LoginController <init>
    INFO: Loading LoginContoller...
    07.07.2010 14:49:21 com.l2scoria.loginserver.LoginController <init>
    INFO: Cached 10 KeyPairs for RSA communication
    Exception in thread "main" java.lang.NullPointerException
            at com.l2scoria.util.random.MTRandom.next(MTRandom.java:355)
            at java.util.Random.nextDouble(Random.java:438)
            at com.l2scoria.util.random.Rnd.nextInt(Rnd.java:55)
            at com.l2scoria.loginserver.LoginController.generateBlowFishKeys(LoginCo
    ntroller.java:176)
            at com.l2scoria.loginserver.LoginController.<init>(LoginController.java:
    138)
            at com.l2scoria.loginserver.LoginController.load(LoginController.java:10
    3)
            at com.l2scoria.loginserver.L2LoginServer.<init>(L2LoginServer.java:117)
    
            at com.l2scoria.loginserver.L2LoginServer.main(L2LoginServer.java:61)
    
    LoginServer terminated abnormaly
    Send you bug to : http://la2.100nt.ru
    
    
    LoginServer terminated
    Send you bug to : http://la2.100nt.ru
    
    Restart(r) or Quit(q)^CTerminate batch job (Y/N)?

    leonius, 07 Июля 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if(USER_CLIENT == 'PC')
    {}                                              // Если комп то ничего помимо не выводим
    elseif(USER_CLIENT == 'MOBILE'){                // Если мобила  то предлагаем отправить смску прямо с сайта     
    echo'Отправить смс:<br />';
    echo"<b><a href=\"smsto:$nomer?body=#zabaks.ru $text\">Вариант 1</a></b><br />";
    echo"<b><a href=\"sms:$nomer?body=#zabaks.ru $text\">Вариант 2</a></b><br />";
    }
    }

    на#&й тут первый блок if?

    DmitryDick, 04 Июля 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    Сделайте пожалуйста рейтинг для каждого участника, как на StackOverflow. 
    Рейтинг может быть основан на данных о кол-ве заплюсованных/заминусованных сообщений.
    Интересно -- у кого самый длинный и толстый рейтинг:) 
    Мне кажется -- будет весело.

    Анонимус, 03 Июля 2010

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

    +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
    #include <iostream>
    #include <string>
    #include <ctime>
    using namespace std;
    
    template <typename T>
    void SwowArray(T arr[], int n); // #A
    
    template <typename T>
    void ShowArray(T * arr[], int n); // #B
    
    struct debts
    {
    	char name[50];
    	double amount;
    };
    int main() 
    {
    	int things[6] = {12, 34, 43, 21, 56, 666};
    	struct debts mr_dick[3] =
    	{
    		{"Pizdabol Ivan", 999.0},
    		{"Xuesos Vasya", 45.0},
    		{"Prostitutka Alla", 548.0}
    	};
    
    	double * pedo[3];
    	for(int i = 0; i < 3; i++)
    	{
    		pedo[i] = &mr_dick[i].amount;
    	}
    	
    	cout << "Trololo Mr.Dick: \n";
    	ShowArray(things, 6);
    	cout << "Listening Debilov: \n";
    	ShowArray(pedo, 3);
    	cin.ignore();
    	cin.get();
    	return 0;
    }
    // #A
    
    template <typename T> void ShowArray(T arr[], int n)
    {
    	cout << "Template A \n";
    	for(int i = 0; i < n; i++)
    		cout <<arr[i]<<" ";
    	cout << endl;
    }
    
    template <typename T> void ShowArray(T * arr[], int n)
    {
    	cout << "Template B \n";
    	for(int i = 0; i<n; i++)
    		cout <<*arr[i]<< " ";
    	cout << endl;
    }

    не могу понять почему выводится ошибка, как бы не должно ее быть, компилятор указывает на 34 строку

    trololo101010, 02 Июля 2010

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

    +144

    1. 1
    http://wiki.php.net/rfc/functionarraydereferencing

    На днях наткнулся вот такую ночную вазу с хорошо выдержанным содержимым.
    Копипастить не буду, просто загляни под крышку.
    Речь идет о том чтобы спустя 10 лет наконец пропатчить невозможность обращения к элементу массива без использования промежуточной переменной, если массив возвращается функцией (коих функций в Personal Home Page сотни).
    Также обратите внимание на даты.

    bugmenot, 30 Июня 2010

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

    +144

    1. 1
    Это не совсем говнокод, но отношение к нему имеет прямое : костыли, теперь ясно где их берут http://kostili.blogspot.com/ .

    Ехал по трассе и несмог удержаться, чтобы не клацнуть на память такую красоту. Как говорится "понятно только программистам" и то не всем :)

    kostili, 28 Июня 2010

    Комментарии (9)
  9. JavaScript / Говнокод #3567

    +144

    1. 1
    var oneWeekAgo = dateObj.valueOf() - 604800000;

    "Ура! у меня есть калькулятор!!1"

    mozg_raka, 25 Июня 2010

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

    +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
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    <?
    
    class db // mysql funkciju klase 
    {
    	var $id = '';		
    	function connect() // prisijungimas prie mysql serverio
    	{
    
    		$this->id = mysql_connect($this->host, $this->user, $this->pass);
    		
    		if ( !$this->id || !mysql_select_db($this->db, $this->id) ) {
    			die ("mysql connect failed: " . mysql_error());
    			return false;
    		}	
    		else {
    		    return $this->id;
    		}			    	    
    	} 
    	
    	function query ($query, $silent = 0) // duotos uzklausos vykdymas
    	{
    		$this->result = '';
    
    		if ($this->result = mysql_query($query)) { //var_dump($query);
    			return $this->result;}
    		else
    			if ($silent == 0)
    				die("mysql query failed: " . mysql_error());
    			else
    				die("Atsiprasome, jusu uzklausos negalejome apdoroti");
    
    	}
    
    	function fetch ($result) // rezultato grazinimas pagal uzklausa. grazinamas masyvas
    	{
    		$this->row = '';
    
    		if ($this->row = mysql_fetch_array($result)) { //var_dump($this->row);
    			return $this->row;}
    	}
    	
    	function fetchrow ($result) {
    		
    		$this->row = '';
    
    		if ($this->row = mysql_fetch_row($result))
    			return $this->row;
    	}
    	
    	function num($result) // suskaiciuoja kiek yra eiluciu rezultate
    	{
    		$this->num = '';
    
    	    if ($this->num = mysql_num_rows($result))
    			return $this->num;
    	}
    
    	function last($result) {
    		
    		$this->last = '';
    
    		if ($this->last = mysql_insert_id($this->id))
    			return $this->last;
    	}
    
    	function close() {
    		mysql_close();
    		return true;
    	}
    } 
    
    ?>

    (предыдущие серии в http://govnokod.ru/3526, http://govnokod.ru/3525, http://govnokod.ru/3524 и http://govnokod.ru/3522)

    класс, то ли аффтарописный, то ли из ынтырнета с его комментами.

    кому лень обращать внимание на код:
    1. обьявление полей host, user, pass я не нашел, зато нашел обращение к ним
    2. функции возвращают что-то в нормальных условиях, иначе не возвращают совсем ничего
    3. в 20й строке $silent = 0, но запрос умирает при любом значении
    4. метод num() даже в нормальной ситуации может не вернуть ничего
    5. close() успешен в любом случае

    Lure Of Chaos, 21 Июня 2010

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

    +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
    f ($_SESSION["id"]) {
    	
    $v=$_GET['v'];
    $placiau=$_GET['placiau'];
    
    $kalba_mas = array("LT","EN","RU");
    $kategorija_mas = array("virtuves_baldai","vonios_baldai","ofiso_baldai","spintos");
    $kategorija_mas_ = array("Virtuvлs baldai","Vonios baldai","Ofiso baldai","Spintos");
    
    switch($v) {
    	case "admin":
    // много-много всякой писанины
    	break;
    	case "pagrindinis":
    // еще огромный кусок, брат предыдущего
    	break;
    	case "apie_mus":
    //.....
    	break;
    	case "produkcija":
    		$tpl->DisplayParsedTemplate("produkcija");
    	break;
    case "produkcija_m":
    	break;
    
    	case "produkcija_n":
    	break;
    
    	case "kontaktai":
    	break;
    case "uzsakymas":
    		if($_POST['uzsakymas_saugoti']) {
    			$db -> Query("UPDATE uzsakymas SET el_pastas = '$_POST[el_pastas]'");
    		}
    
    		$res = $db -> Query("SELECT * FROM uzsakymas");
    		list($el_pastas) = $db -> Fetch($res);
    
    		$tpl->AddVars("uzsakymas", array(
    			"ELPASTAS"=>$el_pastas
    			));
    		$tpl->ParseTemplate("uzsakymas", "a");
    
    		$tpl->DisplayParsedTemplate("uzsakymas");
    	break;
    
    	default: login($db, $tpl);
    
    } else  login($db, $tpl);

    оттуда же что http://govnokod.ru/3524 и http://govnokod.ru/3522
    логин по дефолту(47) и если сессия не начата(49) не то что убили, порвали. Четвертовали.
    молчу про свитч-логику и не проескейпенный скул

    Lure Of Chaos, 21 Июня 2010

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