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

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

    +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
    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
    (function() {
    	var appBase = function( appId ) {
     		appId = appId || Math.floor( Math.random() * ( 1000 - 1 ) + 1 );
     		this.stack = {
     			methods: [ ],  extends: { },
     			init: function( cfg ) {
     				this.creator( cfg );
    				this.bootstrap();
     			},
    			bootstrap: function() {
    				this.methods.init = null;
    				var param = new Object();
     				param.app = this.methods, 
    				param.opt = this.setup;
    				param.__proto__ = null;
    				for( var i in this.setup.inits ) {
    					this.methods[ this.setup.inits[i] ].apply( param );
    				};	
    			},
    			creator: function( cfg ) {
    				for( var mtd in cfg ) {
     					var flag = cfg[ mtd ].options[ 1 ] || null,
    						name = cfg[ mtd ].options[ 0 ] + "",
    						func = cfg[ mtd ].func;
    					this.methods[ name ] = func;
    					this.methods[ name ].name = name;
    					if( flag ) {
     					flag = flag.split('|');
    						if( flag[0] ) {
    							switch( flag[0] ) {
    								case 'init': this.setup.inits.push( name ); break;
    								case 'defer': 
    									this.setup.defer.push( name );
    									this.setupTimer( [ flag[ 1 ], name, flag[ 2 ] - 0 ] );
    								break;
    							};
    						};
    					};
    				};
    			},
    			setupTimer: function( opt ) {
     				var tf = this.setup.timer[ opt[1] ],
    					tt = this.methods[ opt[1] ],
    					tm = opt[ 2 ] || 500;
     				switch( opt[0] ) {
    					case 'interval': tf = setInterval( tt, tm ); break; 
    					case 'timeout':  tf = setTimeout( tt, tm ); break;
    				};
     
    			},
    			flushTimer: function( id ) {
    				clearInterval( this.setup.defer[ id ] );
    				console.log( 'Interval '+ id +' Stoped!');
    			},
    			setup: {
    				appId: 'BiO Kernel' + appId, param: [ ], inits: [ ], defer: [ ],timer: [ ], flags: { }
    			}
    		};
    		this.stack.__proto__ = null; this.__proto__ = null;
    	};
    		var application = new appBase();
    		var	app = application.stack;
    		var cfg = [
    			{ 
    				func: function() {
    					console.log( 'RUN [mtd_1] AT [init stage] => force [mtd_3]' );
    					this.app['mtd_3'].apply(this);
    				},
    				options: [ 'mtd_1' , 'init' ]
    			},
    			{ 
    				func: function() {
    					console.log( 'RUN [mtd_2] AT [init stage]' );
    				},
    				options: [ 'mtd_2' , 'init' ]
    			},
    			{ 
    				func: function() {
     
    					console.log( 'RUN [mtd_3] BY [mtd_1] FROM [init stage]' );
    				},
    				options: [ 'mtd_3' ]
    			},
    			{ 
    				func: function() {
    					console.log( 'run defered method #1 in timeout' );
    				},
    				options: [ 'deferedMethod_1', 'defer|timeout|8500' ]
    			},
    			{ 
    				func: function( ) {
    					console.log( 'run defered method #2 in interval' );
    				},
    				options: [ 'deferedMethod_2', 'defer|interval|500' ]
    			},
    		];
    		app.init( cfg, true ); 
    })();

    Съебаться из страны не получилось ): Оно не взламывалось вообще ... лимон так и не дали, а в жопу выебали через кого-то.

    Stealth, 09 Августа 2013

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

    +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
    $( '.video', tl ).each( function() {
    
                        if( this.id !== target ) {
                            
                            // get other objects props
                            var snaper = $(this);
                            var left   = getLeft( snaper );
                            var swidth = snaper.width();
    
                            // calculate snap positions
                            var leftSpan  = left + swidth;
                            var rightSnap = cPos + swidth; 
    
                            // if snap performed
                            if( cPos === leftSpan || rightSnap === left ) { 
                                
                                var mouse = getMouse( event, floater ); 
                                var shift = 5;                           
    
                                // if cursor goes out snaped object
                                if( shift === ( -1 * mouse ) || mouse === shift + swidth ) {   
    
                            
                                // difference in sizes
                                var diff = ( (fwidth - swidth) > 0 ) ? fwidth - swidth : swidth - fwidth;
    
                                    // setup new positions
                                    var fl = getLeft( floater );
                                    var sl = getLeft( snaper );
    
                                    // fix smaller position 
                                    if( fwidth > swidth ) {
                                        fl += diff;  
                                    } else {
                                        sl += diff;
                                    }
    
                                    // apply overlay to prevent blinking "dragable"
                                    var overlay = $('<div id="overlay"></div>');
                                    $('body').append(overlay);
                                    $('#overlay').focus();
       
                                    // reverse animation dock object
                                    snaper.animate({'left': fl}, 1000);
    
                                    // reverse animation floater
                                    floater.animate({'left': sl}, 1000,
                                    function(){
                                        // unset overlay
                                        $('#overlay').remove();
                                        // return focus to floater object
                                        floater.focus();
                                    });
    
    
                                }                                                             
    
                            }                     
                        }
    
                    });

    Обозвали лисповским червяком … Че сделать с плавной геометрической инверсией?

    Stealth, 08 Августа 2013

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

    +12

    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
    void FileCreate(const char *name)
    {
    	ofstream F;
    	F.open(name); // Create file 
    	F.close(); //close the file
    }
    
    void InputProduct(Product &b) //function for entering product
    {
    	char c; int i=0;
    
    	cout<<"Input name of product \n"; 
    	// enter the string until you meet the character \n or EOF or until a limit is the number of symbols
    	for ( i=0; i<l_name && (c = getchar())!= EOF && c!='\n';++i ) 
    		b.name[i] = c ; 
    	b.name[i]='\0'; // at the end of the line write the terminating line \0
    
        // rest of code ...
    }

    Студенты такие студенты ...

    denis90, 03 Августа 2013

    Комментарии (4)
  5. 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)
  6. PHP / Говнокод #13532

    +141

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

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

    killro0000, 01 Августа 2013

    Комментарии (4)
  7. 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)
  8. 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)
  9. C# / Говнокод #13361

    +129

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

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

    dormendo, 11 Июля 2013

    Комментарии (4)
  10. 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)
  11. 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)