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

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

    +5

    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
    catch(...)
    {
    	static int i = 0;                     
    	//if we enter this catch clause more than 1 time
    	//it is very likely that the RestartSystem() command
    	//did not succeed. If this is the case we just exit.
    	if(i>0)
    		exit(0);
    	else
    		MonitorT::GetInstance()->RestartSystem();
    	i++;
    	throw;
    }

    Навеяло...

    blackhearted, 11 Марта 2016

    Комментарии (17)
  3. C# / Говнокод #19563

    +5

    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
    int tries = 0;
    while (true)
    {
    	try
    	{
    		DoSomething();
    	}
    	catch
    	{
    		if (++tries > 3)
    			throw;
    	}
    }

    Оригинальный способ попытаться выполнить некий код, давая ему на это N попыток , а только потом упасть с ошибкой.

    leon_mz, 02 Марта 2016

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

    +5

    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
    var From = $('#TransferFrom').val();
    					var To = $('#TransferTo').val();
    					var Time = Number($('#TransferTime').val());
    					var Count = Number($('#TransferCount').val());
    					$(['#', 'Debet', From].join('')).text(Number($(['#', 'Debet', From].join('')).text()) + Count);
    					$(['#', 'Credit', To].join('')).text(Number($(['#', 'Credit', To].join('')).text()) + Count);			
    					$(['#', 'Cache', From].join('')).text(Number($(['#', 'Cache', From].join('')).text()) - Count);
    					$(['#', 'Cache', To].join('')).text(Number($(['#', 'Cache', To].join('')).text()) + Count);
    					setTimeout(function()
    					{
    						$(['#', 'Debet', From].join('')).text(Number($(['#', 'Debet', From].join('')).text()) - Count);
    						$(['#', 'Credit', To].join('')).text(Number($(['#', 'Credit', To].join('')).text()) - Count);	
    						$(['#', 'Cache', From].join('')).text(Number($(['#', 'Cache', From].join('')).text()) + Count);
    						$(['#', 'Cache', To].join('')).text(Number($(['#', 'Cache', To].join('')).text()) - Count);
    					}, Time * 1000);

    Да это сука гениально!

    d_fomenok, 16 Февраля 2016

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

    +5

    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
    FUNCTION PHP_FIREWALL_get_env($st_var) {
    		global $HTTP_SERVER_VARS;
    		if(isset($_SERVER[$st_var])) {
    			return strip_tags( $_SERVER[$st_var] );
    		} elseif(isset($_ENV[$st_var])) {
    			return strip_tags( $_ENV[$st_var] );
    		} elseif(isset($HTTP_SERVER_VARS[$st_var])) {
    			return strip_tags( $HTTP_SERVER_VARS[$st_var] );
    		} elseif(getenv($st_var)) {
    			return strip_tags( getenv($st_var) );
    		} elseif(function_exists('apache_getenv') && apache_getenv($st_var, true)) {
    			return strip_tags( apache_getenv($st_var, true) );
    		}
    		return '';
    	}

    Это шедевр!

    d_fomenok, 14 Февраля 2016

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

    +5

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    class Db {
    
        private $where;
        private $select = '*';
        private $limit;
        private $order_by;
        private $query;
        private $set;
    
        private function query_string($table){
            $query = ($this->query) ? $this->query : "SELECT $this->select FROM $table WHERE $this->where $this->order_by $this->limit";
            return $query;
        }
        function query($text){
            $this->query = $text;
            return $this;
        }
        function where_text($text){
            $operator = 'AND';
            if (!$this->where){
                $this->where = $text;
            } else {
                $this->where .= $operator." ".$text;
            }
            return $this;
        }
        function order_by_text($text){
            if (!$this->order_by){
                $this->order_by = ' ORDER BY '.$text;
            } else {
                $this->order_by .= ', '.$text;
            }
        }
        function connect($host,$login_mysql,$password_mysql,$baza_name) {
            $db = @mysql_connect("$host", "$login_mysql", "$password_mysql");
            mysql_set_charset('utf8',$db);
            if (!$db) exit("<p>Sorry, not available MySQL server</p>");
            if (!@mysql_select_db($baza_name,$db)) exit("<p>Unfortunately, the database is not available</p>");
        }
        function select($column){
            $this->select = $column;
            return $this;
        }
        function limit($start,$count){
            $this->limit = ' LIMIT '.$start.','.$count;
            return $this;
        }
        function order_by($key){
            if (is_array($key)){
                foreach ($key as $column => $value){
                    if (!$this->order_by){
                        $this->order_by = ' ORDER BY '.$column.' '.$value;
                    } else {
                        $this->order_by .= ', '.$column.' '.$value;
                    }
                }
            } else {
                if (!$this->order_by){
                    $this->order_by = ' ORDER BY '.$key;
                } else {
                    $this->order_by .= ', '.$key;
                }
            }
            return $this;
        }
        function where($key,$compare = '='){
            $operator = 'AND';
            if (is_array($key)){
                foreach ($key as $column=>$value){
                    if (!$this->where){
                        $this->where = $column.$compare."'".$value."' ";
                    } else {
                        $this->where .= $operator." ".$column.$compare."'".$value."' ";
                    }
                }
            } else {
                $key = explode(',',$key);
                if (!$this->where){
                    $this->where = $key[0].$compare."'".$key[1]."' ";
                } else {
                    $this->where .= $operator." ".$key[0].$compare."'".$key[1]."' ";
                }
            }
            return $this;
        }
        function search($column,$search){
            $operator = 'AND';
            $search = strtr($search,array(" "=>" +"));
            $search = '+'.$search;
            $w = 'MATCH('.$column.") AGAINST('".$search."' IN BOOLEAN MODE)";
            if (!$this->where){
                $this->where = $w;
            } else {
                $this->where .= $operator." ".$w;
            }
            return $this;
        }
        function lines($table,$ext = true){
            $msql_query = mysql_query($this->query_string($table));
            $line = mysql_fetch_assoc($msql_query);

    "Удобный php класс для работы с MySQL"
    https://habrahabr.ru/post/277095

    Lure Of Chaos, 12 Февраля 2016

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

    +5

    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
    var pts = new Vector3[vCount];
    var r = new Random();
    
    for (var i = 0; i < pts.Length; i++)
    pts[i] = new Vector3(r.Next(-10000, 10000), r.Next(-600, 600), r.Next(-10000, 10000)) * 0.05f;
    /*for (var i = 0; i < pts.Length; i++)
    for (var j = 0; j < pts.Length; j++)
    if (pts[i].X > pts[j].X)
    {
    var tmp = pts[i];
    pts[i] = pts[j];
    pts[j] = tmp;
    }*/
    var vertices = new VertexPositionColor[vCount];
    var indices = new int[vCount * 6];
    //*
    for (var i = 0; i < vCount; i++)
    {
    vertices[i] = new VertexPositionColor(pts[i], new Color(new Vector3(r.Next(-100000, 100000), r.Next(-100000, 100000), r.Next(-100000, 100000)) * 0.00001f));
    indices[i * 6] = i;
    indices[i * 6 + 3] = i;
    var minDist = new float[] { 100000000, 100000000, 100000000 };
    var minId = new int[] { 0, 0, 0 };
    for (var j = 0; j < vCount; j++)
    {
    if (j == i) continue;
    var dist = Vector3.DistanceSquared(pts[i], pts[j]);
    if (dist < minDist[0])
    {
    minDist[2] = minDist[1]; minId[2] = minId[1];
    minDist[1] = minDist[0]; minId[1] = minId[0];
    minDist[0] = dist; minId[0] = j;
    }
    else if (dist < minDist[1])
    {
    minDist[2] = minDist[1]; minId[2] = minId[1];
    minDist[1] = dist; minId[1] = j;
    }
    else if (dist < minDist[2])
    {
    minDist[2] = dist;
    minId[2] = j;
    }
    }
    indices[i * 6 + 1] = minId[0];
    indices[i * 6 + 2] = minId[1];
    indices[i * 6 + 4] = minId[1];
    indices[i * 6 + 5] = minId[2];
    }//*/

    Антон, 20 лет.

    Особенно вставило

    indices[i * 6 + 1] = minId[0];
    indices[i * 6 + 2] = minId[1];
    indices[i * 6 + 4] = minId[1];
    indices[i * 6 + 5] = minId[2];

    d_fomenok, 09 Февраля 2016

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $temp = $this->user->get($value['user_id']);
    foreach ($temp as $var) {
    	$temp = $var;
    	break;
    }

    Просматривал код курсвых по web-программированию, нашел новейший метод извлечения первого элемента массива

    skad0, 13 Января 2016

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

    +5

    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
    $DB_Connect = new DB_Connect(); // Подключаем класс базы данных
    $acces = 1; // 1 - Включено API, 0 - Отключено API
    if($acces == 1) { // Проверяем чтобы API было включено
    	$DB_Connect->connect(); // Подключаемся к базе данных
    	mysql_set_charset( 'utf8' ); // Изменяем кодировку базы данных
    		if($_GET['api_id']) $gameid = sText($_GET['api_id']); // Получаем API_ID
    		else $gameid = sText($_POST['api_id']); 
    		$game = mysql_fetch_array(mysql_query("SELECT id FROM `vii_apps` WHERE id='".$gameid."'")); // Запрашиваем ID с полученным API_ID
    		$row_sql = mysql_fetch_array(mysql_query("SELECT count(*) as cnt FROM `vii_api` WHERE `IP`='".$_SERVER["REMOTE_ADDR"]."' AND `data`>(".time()."-1)"));
    		// Запрашиваем количество запросов в секунду от этого человека
    		if($row_sql['cnt']<3) { // Проверяем частоту запросов от этого человека
    			if(!$game) json_error(2); // Проверяем существование этого приложения
    			else {
    				if($_GET['method']) $method = $_GET['method'];  // Получаем METHOD
    				else $method = $_POST['method']; 
    				if($_GET['sig']) $sig = sText($_GET['sig']); // Получаем SIG
    				else $sig = sText($_POST['sig']);
    				if($method=="users.get") { // Если это метод users.get
    					if($_GET['uids']) $uids = sText($_GET['uids']); // Получаем UIDS
    					else $uids = sText($_POST['uids']); 
    					$uids_explode = explode(",", $uids);
    					if($_GET['fields']) $fields = sText($_GET['fields']); // Получаем FIELDS
    					else $fields = sText($_POST['fields']);
    					$fields_explode = explode(",", $fields);
    					$row = mysql_fetch_array(mysql_query("SELECT `user_id` FROM `vii_users` WHERE `IP`='".$_SERVER["REMOTE_ADDR"]."' ORDER by `user_lastdate` DESC LIMIT 1")); 
    					// Получаем ID пользователя который делает запрос к API
    					$viewer_id = $row['user_id'];
    					$row_ = mysql_fetch_array(mysql_query("SELECT secret FROM `vii_apps_auth` WHERE user_id='".$viewer_id."' and app_id = '".$gameid."'")); 
    					// Получаем личный SECRET пользователя который делает запрос к API
    					$secret = $row_['secret'];
    					$api = new fbapi($gameid, $secret, $viewer_id); // Подключаем класс проверки SIG
    					$sig_data = $api->api('users.get',array('uids'=>$uids,'fields'=>$fields)); // Формируем запрос на получение SIG
    					if($sig == $sig_data) { // Проверяем правильность SIG
    						mysql_query("INSERT INTO `vii_api` (method,ip,data) VALUES('".$method."','".$_SERVER["REMOTE_ADDR"]."','".time()."')");
    						// Записываем выполнение API метода
    						$vars = array(); // Формируем начало ответа
    						$vars['response'] = array(); // Формируем переменную RESPONSE
    						foreach($uids_explode as $uid) { // Перебираем все полученные UIDS
    							$row = mysql_fetch_array(mysql_query("SELECT user_id,user_name,user_lastname FROM `vii_users` WHERE user_id='".$uid."'"));
    							$rd = array('uid'=>$row['user_id'],'first_name'=>$row['user_name'],'last_name'=>$row['user_lastname']); 
    							// Формируем массив для вставки его в ответ
    							if(count($fields_explode)!=0 and $fields_explode[0]!=null) { // Проверяем дополнительные поля
    								foreach($fields_explode as $field) { // Перебираем дополнительные поля
    									$rows = mysql_fetch_array(mysql_query("SELECT ".$field." FROM `vii_users` WHERE user_id='".$uid."'"));
    									if($field == "user_photo") {
    										if($rows[$fields]) $rd[$field] = "http://lineage18.ru/uploads/users/".$uid."/".$rows[$field];
    										else $rd[$field] = "http://lineage18.ru/templates/Default/images/100_no_ava.png";
    									} else $rd[$field] = $rows[$field]; // Добавляем в массив дополнительные поля
    								}
    							}
    							array_push($vars['response'],$rd); // Вставляем сформированный массив $rd в общий ответ
    						}
    						echo json_encode_cyr($vars); // Преобразуем нашу строку в JSON формат
    					} else json_error(3); // Ошибка не правильной SIG
    				} else if($method=="secure.withdrawVotes") { // Новый метод secure.withdrawVotes

    Пишем API на PHP

    d_fomenok, 29 Декабря 2015

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

    +5

    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
    <?if($DATE$='14.12.2015')?>17 дней до нового года<?endif?>
    <?if($DATE$='15.12.2015')?>16 дней до нового года<?endif?>
    <?if($DATE$='16.12.2015')?>15 дней до нового года<?endif?>
    <?if($DATE$='17.12.2015')?>14 дней до нового года<?endif?>
    <?if($DATE$='18.12.2015')?>13 дней до нового года<?endif?>
    <?if($DATE$='19.12.2015')?>12 дней до нового года<?endif?>
    <?if($DATE$='20.12.2015')?>11 дней до нового года<?endif?>
    <?if($DATE$='21.12.2015')?>10 дней до нового года<?endif?>
    <?if($DATE$='22.12.2015')?>9 дней до нового года<?endif?>
    <?if($DATE$='23.12.2015')?>8 дней до нового года<?endif?>
    <?if($DATE$='24.12.2015')?>7 дней до нового года<?endif?>
    <?if($DATE$='25.12.2015')?>6 дней до нового года<?endif?>
    <?if($DATE$='26.12.2015')?>5 дней до нового года<?endif?>
    <?if($DATE$='27.12.2015')?>4 дня до нового года<?endif?>
    <?if($DATE$='28.12.2015')?>3 дня до нового года<?endif?>
    <?if($DATE$='29.12.2015')?>2 дня до нового года<?endif?>
    <?if($DATE$='30.12.2015')?>1 день до нового года<?endif?>
    <?if($DATE$='31.12.2015')?>
    <?if($HOUR$='0')?>23 часа до нового года<?endif?>
    <?if($HOUR$='1')?>22 часа до нового года<?endif?>
    <?if($HOUR$='2')?>21 час до нового года<?endif?>
    <?if($HOUR$='3')?>20 часов до нового года<?endif?>
    <?if($HOUR$='4')?>29 часов до нового года<?endif?>
    <?if($HOUR$='5')?>18 часов до нового года<?endif?>
    <?if($HOUR$='6')?>17 часов до нового года<?endif?>
    <?if($HOUR$='7')?>16 часов до нового года<?endif?>
    <?if($HOUR$='8')?>15 часов до нового года<?endif?>
    <?if($HOUR$='9')?>14 часов до нового года<?endif?>
    <?if($HOUR$='10')?>13 часов до нового года<?endif?>
    <?if($HOUR$='11')?>12 часов до нового года<?endif?>
    <?if($HOUR$='12')?>11 часов до нового года<?endif?>
    <?if($HOUR$='13')?>10 часов до нового года<?endif?>
    <?if($HOUR$='14')?>9 часов до нового года<?endif?>
    <?if($HOUR$='15')?>8 часов до нового года<?endif?>
    <?if($HOUR$='16')?>7 часов до нового года<?endif?>
    <?if($HOUR$='17')?>6 часов до нового года<?endif?>
    <?if($HOUR$='18')?>5 часов до нового года<?endif?>
    <?if($HOUR$='19')?>4 часа до нового года<?endif?>
    <?if($HOUR$='20')?>3 часа до нового года<?endif?>
    <?if($HOUR$='21')?>2 часа до нового года<?endif?>
    <?if($HOUR$='22')?>1 часа до нового года<?endif?>
    <?if($HOUR$='23')?>Меньше часа до нового года!<?endif?><?endif?>
    <?if($DATE$='01.01.2016')?>С новым 2016 годом!<?endif?>

    Отсчет дней до нового года для uCoz без JavaScript
    Увидел случайно на одном сайте...

    WestlE, 26 Декабря 2015

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

    +5

    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
    namespace ConsoleApplication
    {
        public static class Program
        {
            private static void Main( string[] args )
            {
                new Random().Next( -100, 100 )
                    .Execute( x => Console.Write( $"{x} это " ) )
                    .IfElse( x => x % 2 == 0, () => Console.Write( "четное " ), () => Console.Write( "нечетное " ) )
                    .Execute( () => Console.Write( "число " ) )
                    .IfElse( x => x > 0, () => Console.Write( "больше " ), () => Console.Write( "меньше " ) )
                    .Execute( () => Console.Write( "нуля" ) )
                    .Execute( () => Console.WriteLine() );
            }
        }
    }

    вывод в консоли (прим.): "-88 это четное число меньше нуля"

    Адские экстеншены

    anweledig, 14 Декабря 2015

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