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

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

    +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
    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
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    <?php
    class user {
    	var $logined=false;
    	var $information;
    	var $err_code=0;
    	var $err_arr;
    	var $cookie_time=2592000;
    	var $_db;
    	var $no_profile_photo="/assets/img/no_profile_photo.jpg";
    	var $friends_list=array();
    	var $friends_list_to=array();
    	var $friends_list_from=array();
    	//RewriteRule ^(.*)profile_photo.jpg$ assets/img/no_profile_photo.jpg [L]
    
    	function db($_db){
    	$this->_db=$_db;
    	}
    
    	function set_err_txts(){
    		$this->err_arr[0]="";
    		$this->err_arr[1]="login preg";
    		$this->err_arr[2]="no such login in db";
    		$this->err_arr[3]="wrong pass";
    		$this->err_arr[4]="";
    	}
    
    	function auth($login,$pass,$md5=false){
    	if(!($login)) {return false;}
    	////////////////////////////////////
    	$this->set_err_txts();
    	$cookie_time=time()+$this->cookie_time;
    	/////////////////////////////
    	if(!(preg_match("/^[a-z0-9_-]+$/i",$login))) 
    	{$this->err_code=1; return false;}
    	////////////////////////////////////////////////////////////
    	$sql="select id, login, salt from users where login='".$login."'";
    	$res=mysql_query($sql,$this->_db);
    	//echo $sql; echo var_dump($this->_db); echo var_dump($res);
    	if(!($item=mysql_fetch_array($res)))
    	{$this->err_code=2; return false;}
    	///
    	$id=$item['id'];
    	$salt=$item['salt'];
    	////////////////////////////////////////////////////////////
    	if(!($md5)){ $pass=$this->code_pass($pass,$salt); }
    	////////////////////////////////////////////////////////////////
    	$sql="select * from users where (login='".$login."') and (pass='".$pass."')";
    	$res=mysql_query($sql,$this->_db);
    	//echo $sql; echo var_dump($this->_db); echo var_dump($res);
    	if(!($item=mysql_fetch_array($res)))
    	{$this->err_code=3; return false;}
    	/////////////////////////////////////////////////////////////
    	setcookie("login", $login, $cookie_time,"/"); 
    	setcookie("pass", $pass, $cookie_time,"/");
    	$sql="update users set visit_time=".time()." where id='".$id."'";
    	mysql_query($sql,$this->_db);
    	$this->information=$item;
    	$this->logined=true;
    	////////////////////////////////////////////////////////////////
    	$sql="
    	select users_params.name, users_params_values.value 
    	from users_params, users_params_values 
    	where 
    	(users_params_values.user_id='".$id."') 
    	and 
    	(users_params_values.param_id=users_params.id)";
    		$res=mysql_query($sql,$this->_db);
    		while($item=mysql_fetch_row($res)){
    		$this->information[$item[0]]=$item[1];
    	}
    	$this->information["folder"]="/profiles/".substr($login,0,1)."/".$login."/";
    	$this->information["profile_photo"]=$this->information["folder"]."profile_photo.jpg";
    	$this->create_friends_list();
    	return true;
    	}
    	
    	function get_info_by_id($target_user_id){
    	$sql="select id, login, visit_time from users where id='".$target_user_id."'";
    	$res=mysql_query($sql,$this->_db);
    	$item=mysql_fetch_array($res);
    	$login=$item['login'];
    	$this->information["login"]=$login;
    	$this->information["visit_time"]=$item['visit_time'];
    	$this->information["id"]=$item['id'];
    	$sql="
    	select users_params.name, users_params_values.value 
    	from users_params, users_params_values 
    	where 
    	(users_params_values.user_id='".$target_user_id."') 
    	and 
    	(users_params_values.param_id=users_params.id)";
    		$res=mysql_query($sql,$this->_db);
    		while($item=mysql_fetch_row($res)){
    		$this->information[$item[0]]=$item[1];
    	}
    	$this->information["folder"]="/profiles/".substr($login,0,1)."/".$login."/";
    	$this->information["profile_photo"]=$this->information["folder"]."profile_photo.jpg";
    	}
    	.... over 9000 ....

    Понос

    Govnisti_Diavol, 02 Августа 2013

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

    +141

    1. 1
    Error::add('Thank you!', 'info');

    Использование класса ошибок для простых уведомлений...

    killro0000, 01 Августа 2013

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

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    где-то в коде:
                  /* коментарий №1 (см внизу)*/
    
    в самом конце файла:
    //----------------------------------------------- Старые куски кода -----------------------------------------------------------------------------
    // №1
    /*   
    тут простыня кода на 2 экрана
    */

    управление версиями, чо

    clauclauclau, 01 Августа 2013

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

    +9

    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
    /*
    ======================================                                 
    Returns 1 (true) if the this block of the board is empty, 0 if it is filled
     
    Parameters:
     
    >> pX:        Horizontal position in blocks
    >> pY:        Vertical position in blocks
    ======================================
    */
    bool Board::IsFreeBlock (int pX, int pY)
    {
        if (mBoard [pX][pY] == POS_FREE) return true; else return false;
    }

    http://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/

    Ну вот кто их этому учит?

    denis90, 17 Июля 2013

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

    +129

    1. 1
    2. 2
    [ThreadStatic]
    private static SqlConnection _connection;

    Всё самое худшее, что только можно додумать к этим двум строчкам, в наличии.

    dormendo, 11 Июля 2013

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

    +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
    if (!authorized)
    {
        // No, "I'm a teapot" is not what we really want, but the BuildMaster security module will
        // replace it with a 401 (which we actually want)
        context.Response.StatusCode = 418;
        context.Response.Write("Not authorized");
        context.Response.AddHeader("WWW-Authenticate", "Basic realm=\"BuildMaster URL Trigger\"");
        context.ApplicationInstance.CompleteRequest();
        return;
    }
    
    ...
    
    context.EndRequest += (s,e) =>
    {
        HttpApplication app = (HttpApplication)s;
        if (app.Context.Response.StatusCode == 418)
            app.Context.Response.StatusCode = 401;
    }

    http://blog.inedo.com/2010/10/12/http-418-im-a-teapot-finally-a-%E2%80%9Clegitimate%E2%80%9D-use/

    Костыль для обхода "шибко умного" поведения ASP.NET Forms Authentication, который меняет код 401 на 302-перенаправление на форму логина. А разработчику нужен именно 401.

    someone, 04 Июля 2013

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

    +15

    1. 1
    2. 2
    3. 3
    typedef std::intptr_t difference_type;
    //...
    const difference_type index_relative_unsigned=std::abs(index_relative);

    LispGovno, 04 Июля 2013

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

    +118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <table width="630" border="1" class="main">
    
    <!-- Распирай. Властвуй. Унижай. -->
    <table border="1" width="800" class="main">
                
    <tr align="center"><td class="tds"> 
    ....
    </td></tr>
    </table></table>

    Цель была- просто впихнуть широкую таблицу, когда "голова", и кусок основной таблицы сайта (то, что до "распирай") отдаются скриптом. Дабы не вносить существенных поправок в движковую часть, и страницы- пришлось наговнокодить.

    lionovsky, 03 Июля 2013

    Комментарии (4)
  10. Си / Говнокод #13261

    +130

    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
    * g o a t s e x * g o a t s e x * g o a t s e x *
    g                                               g  
    o /     \             \            /    \       o
    a|       |             \          |      |      a
    t|       `.             |         |       :     t
    s`        |             |        \|       |     s
    e \       | /       /  \\\   --__ \\       :    e
    x  \      \/   _--~~          ~--__| \     |    x  
    *   \      \_-~                    ~-_\    |    *
    g    \_     \        _.--------.______\|   |    g
    o      \     \______// _ ___ _ (_(__>  \   |    o
    a       \   .  C ___)  ______ (_(____>  |  /    a
    t       /\ |   C ____)/      \ (_____>  |_/     t
    s      / /\|   C_____)       |  (___>   /  \    s
    e     |   (   _C_____)\______/  // _/ /     \   e
    x     |    \  |__   \\_________// (__/       |  x
    *    | \    \____)   `----   --'             |  *
    g    |  \_          ___\       /_          _/ | g
    o   |              /    |     |  \            | o
    a   |             |    /       \  \           | a
    t   |          / /    |         |  \           |t
    s   |         / /      \__/\___/    |          |s
    e  |           /        |    |       |         |e
    x  |          |         |    |       |         |x
    * g o a t s e x * g o a t s e x * g o a t s e x *

    Stertor, 29 Июня 2013

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

    +29

    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
    //thirteen
            Cluster cl;
            Cluster empty;
            I--;
            if(distances.size()){
                for (int i = 0; i < (Lmax < distances.size() ? Lmax : distances.size()); ++i){
                    cl.X(( clusters.at(distances.at(i).first.first).X()*clusters.at(distances.at(i).first.first).Points().size() + clusters.at(distances.at(i).first.second).X()*clusters.at(distances.at(i).first.second).Points().size())/(clusters.at(distances.at(i).first.first).Points().size() + clusters.at(distances.at(i).first.second).Points().size()));
                    cl.Y(( clusters.at(distances.at(i).first.first).Y()*clusters.at(distances.at(i).first.first).Points().size() + clusters.at(distances.at(i).first.second).Y()*clusters.at(distances.at(i).first.second).Points().size())/(clusters.at(distances.at(i).first.first).Points().size() + clusters.at(distances.at(i).first.second).Points().size()));
                    if(clusters.at(distances.at(i).first.second).Number() != -1 && clusters.at(distances.at(i).first.first).Number() != -2){
                        cl.Points() = clusters.at(distances.at(i).first.second).Points();
                        clusters.at(distances.at(i).first.second) = cl;
                        clusters.at(distances.at(i).first.second).Number(-1);
                        for (std::vector<Point>::iterator j = clusters.at(distances.at(i).first.first).Points().begin(); j != clusters.at(distances.at(i).first.first).Points().end(); ++j)
                        {
                        	clusters.at(distances.at(i).first.second).Points().push_back(*j);
                        }
                        clusters.at(distances.at(i).first.first) = empty;
                        n_c--;
                    }
                }
                for (std::vector<Cluster>::iterator i = clusters.begin(); i != clusters.end(); ++i){
                    if(i->Number() == -2){
                        i = clusters.erase(i);
                    }
                    i->Number(i - clusters.begin());
                    if(I)i->Points().clear();
                    if(i == clusters.end())break;
                }
            }
            //fourteen

    Кусок алгоритма isodata

    Abbath, 28 Июня 2013

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