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

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

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    
     $xml = simplexml_load_string($xmlstring);
    $json = json_encode($xml);
    $array = json_decode($json,TRUE);
    
    ?>

    "Three line xml2array"
    http://www.php.net/manual/en/book.simplexml.php#105330

    striker, 18 Августа 2011

    Комментарии (10)
  3. SQL / Говнокод #7571

    −857

    1. 1
    CREATE DOMAIN D_TRIBOOL AS SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE IN (-1,0,1));

    Возможно, вопрос о говнокодистости этой строчки является холиварным. Но меня приведённый отрывок по крайней мере немало удивил.

    konsoletyper, 17 Августа 2011

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

    +173

    1. 1
    define('style', '<link rel="stylesheet" type="text/css" href="/style.css">');

    такого еще не встречал... o_O

    Sulik78, 17 Августа 2011

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

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    if (wdContext.nodeTable().size() <= 5)
    	wdContext.currentContextElement().setRowsIn(-1);
    else
    	wdContext.currentContextElement().setRowsIn(-1);

    foGa, 12 Августа 2011

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

    +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
    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
    foreach ( $HTTP_POST_VARS as $key => $value ) {$$key=$value;};
    
    function check_existing_dateChK($checking_date) {
        	$query = "SELECT data FROM `kursChK` WHERE `data` = '$checking_date'";
        	$result = mysql_query($query) or die("Query failed");
        	$row = mysql_fetch_assoc($result);
    	$exist_date=$row[data];
    	if ($exist_date=="") 	{
            	return true;
        		}
    	else 
    		{return false;}
    }
    
    //Рисуем форму
    	echo "<form method=post action=$PHP_SELF>
    	<table border=0 align=center>\n
    	
    	<table border=0 align=center>\n
    	<div style='font: 14px Tahoma; color: #F17D18; font-weight: bold;'>Заполнение курсов для Интернет-банка</div><br>
    	<tr><td>Дата</td>\n
    	<td><input type='text' name='dataChK' value = '$current_date' maxlength=10></td>\n
    	</tr>\n
    	<tr><td>Валюта</td><td>Покупка</td><td>Продажа</td></tr>\n
    	<tr><td>USD</td>
    	<td><input type='text' name='usdpoChK' value = '$usdpoChK_last' maxlength=5></td>
    	<td><input type='text' name='usdprChK' value = '$usdprChK_last' maxlength=5></td></tr>\n
    	<tr><td>EURO</td>
    	<td><input type='text' name='eurpoChK' value = '$eurpoChK_last' maxlength=5></td>
    	<td><input type='text' name='eurprChK'value = '$eurprChK_last' maxlength=5></td></tr>\n
    	</table\n>
    	
    	
    	<input type=submit value='Добавить курсы' name='sub'> 
    	<input type=reset value=Вернуть name= reset value = '$data_l'> 
    	</form><br><center><a href='http://10.1.1.234/ibank_kurs/trans.php'>Обновить курсы в ЧК</a></center><br>";
    
    // ... много говна ...
    
      if ($sub=='Добавить курсы' and ($dataChK == "" or !check_existing_dateChK($dataChK)))
      {
        ?>
        <SCRIPT LANGUAGE="javascript"> alert("Запись с такой датой уже существует");
        javascript:history.back(1);
        </SCRIPT>
        <?
        $add_record=false;
      }
    /.../ и так еще раз 20 в коде ниже

    Обратите внимание, каким способом мы узнаем, какое действие совершил пользователь - по надписи на кнопочке! Про SQL-запрос я вообще молчу.

    scriptin, 11 Августа 2011

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

    −129

    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
    . . .
    	ццц=0;                               
    	Если Сотрудникз.Выбран()=0 Тогда
    		Сомр= СоздатьОбъект("Справочник.Сотрудники");
    		Сомр.ВыбратьЭлементы();     
    		цццк=50000;
    	Иначе
    		Сомр=Сотрудникз;
    		цццк=1;
    	КонецЕсли;	  
    	Пока ((ццц<цццк) ) цикл   
    		ццц=ццц+1;    
    		Если цццк>1 Тогда
    			Если (Сомр.ПолучитьЭлемент()=0) Тогда
    				Прервать;
    			КонецЕсли;  
    		КонецЕсли;	 
    		Сотрудник = Сомр.ТекущийЭлемент();   
    		Если Сотрудник.ЭтоГруппа()=1 Тогда
    			продолжить;
    		КонецЕсли;
                    . . .
    
    По нормальному решается:
    
        Сотр = СоздатьОбъект("Справочник.Сотрудники");
        Сотр.ВыбратьЭлементы();
        Пока  (Сотр.ПолучитьЭлемент() = 1)  Цикл
          . . . 
        КонецЦикла

    Досталось в наследство на основной работе, самописная конфа на 7.7,
    как выяснилось этот участок кода писала 50-ти летняя женщина-программист

    adammartin, 11 Августа 2011

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

    +179

    1. 1
    if(vara==((bool)(0)))

    ОМГ.

    Говногость, 07 Августа 2011

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function RandomName($length,$type)
    {
    	$signs = array('0','1','2','3','4','5','6','7','8','9','q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m');
    	if ($type==0) {$z=9;} else {$z=35;}
    	$word='';
    	for ($i=0; $i<$length; $i++)
    	{
    		$word = $word.$signs[rand(0,$z)];
    	}
    	return $word;
    }

    Генератор случайного имени :D

    invision70, 07 Августа 2011

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

    +175

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <h2>
    <script>
    				var date = new Date();
    				var lefttime = 31 - date.getDate();
    				var day = ['дней','день','дня','дня','дня','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','день','дня','дня','дня','дней','дней','дней','дней','дней','дней','день'];
    				document.write('Чаты@Mail.Ru закрываются через ' + lefttime + ' ' + day[lefttime]);
    			</script>
    Чаты@Mail.Ru закрываются через 30 дней 
    </h2>

    Баннер на входе в чат мэйл ру с предупреждением о закрытии.
    1 августа счетчик обнулился и пошел считать заново.
    Зацените перечисление падежей для дней.

    etcshadow, 03 Августа 2011

    Комментарии (10)
  11. SQL / Говнокод #7420

    −155

    1. 1
    SELECT IFNULL(IFNULL(IFNULL(a.title, n.title),IFNULL(al.title, v.video_title)), IFNULL(IFNULL(ps.title,fc.name), IFNULL(IFNULL(bp.title,pp.title), IFNULL(sm.title, sa.title)))) as for_title

    DrFreez, 02 Августа 2011

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