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

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

    −147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    {if $oUserProfile->getProfileIcq()}
    	<strong>{$aLang.profile_social_contacts}</strong>
    	<ul>
    	{if $oUserProfile->getProfileIcq()}
    		<li class="icq"><a href="http://www.icq.com/people/about_me.php?uin={$oUserProfile->getProfileIcq()|escape:'html'}" target="_blank">{$oUserProfile->getProfileIcq()}</a></li>
    	{/if}					
    	</ul>
    {/if}

    Smarty-шаблон. ActionProfile/sidebar.tpl (17-я строчка в скине "new") из LiveStreet.
    Озадачивают 1-я и 4-я строки. Типа: "А вдруг?!"

    alexoy, 17 Октября 2011

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

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    UPDATE ... 
    SET ...
    WHERE ...
         AND NVL(fndr_constraint,'ABC')=NVL('','ABC')
    ...

    Oracle 10.2 продакшн код.
    Это прям какое-то нездоровое влечение к NVL...

    slbsomeone, 14 Октября 2011

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

    −117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /*Ахтунг! Содержит бубен*/
    		public function ToDown():void
    		{
    			while (!downCollisionTest(figure))
    			{
    				figure.position.y++;
    			}
    			RedrawFigure();
    			
    			setTimeout(function():void{Down();}, 5);
    		}

    KirAmp, 13 Октября 2011

    Комментарии (5)
  5. SQL / Говнокод #8174

    −147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    SELECT FIRST ((SELECT COUNT(*)/2 + MOD(COUNT(*),2) 
                   FROM REFSTATUS r3)) r.STATUSID, r.STATUSNAME, r2.STATUSID, r2.STATUSNAME
    FROM REFSTATUS r 
    LEFT JOIN REFSTATUS r2 ON r2.STATUSID = (SELECT FIRST 1 SKIP ((SELECT COUNT(*)/2 + MOD(COUNT(*),2)
                                                                    FROM REFSTATUS r4) +
                                                                   (SELECT COUNT(1)
                                                                    FROM REFSTATUS r5 
                                                                    WHERE r5.STATUSID < r.STATUSID)) r1.STATUSID 
                                              FROM REFSTATUS r1
                                              ORDER BY 1)
    ORDER BY 1

    Абсолютно бессмысленный SQL-запрос, который выводит содержимое двух полей таблицы REFSTATUS в две колонки пополам (Используется SQL-Firebird)

    selinta, 12 Октября 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    preg_match("#<span id='data' (.*?)</span>#is", $data, $ldc_pre1);
    $ldc_pre2 = $ldc_pre1[0];
    preg_match("#text=\"(.*?)\">#is", $ldc_pre2, $ldc_pre3);
    $ldc_final = $ldc_pre3[1];

    *no comments*

    OJA, 08 Октября 2011

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

    −105

    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
    for (NSString *str in ar)
    {
    	if ([startChord isEqualToString:str])
    	{
    		if (offset > 0) 
    		{
    			if (i+offset > 11) // 11 - последний индекс в массиве
    				finalChord = [ar objectAtIndex:(i+offset) - 12];// (12 = 11+1) это чтобы понятно было, например, 11 элемент сместить на 2 выше, это будет 11+2 - 12 равно 1 индекс в массиве (т.е. второй элемент)
    			else
    				finalChord = [ar objectAtIndex:(i+offset)];
    		}
    		else if (offset < 0)
    		{
    			if (i-abs(offset) < 0) // 0 - первый индекс в массиве
    				finalChord =[ar objectAtIndex:12 - abs(i-abs(offset))];
    			else
    				finalChord = [ar objectAtIndex:(i-abs(offset))];
    		}
    		else
    		{
    			finalChord = [ar objectAtIndex:i];
    		}
    		break;
    	}
    	i++;
    }

    Но человек старался, да...

    krypt, 07 Октября 2011

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

    −136

    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
    Процедура ПриОткрытии()	
    	Таймер();
    	ПодключитьОбработчикОжидания("Таймер",1);	 
    КонецПроцедуры
    
    Процедура Таймер()	
    	Если ИспользоватьНапоминание Тогда
    		Если ТекущаяДата() = ВремяНапоминания Тогда
    			Предупреждение(ТекстНапоминания);
    		КонецЕсли;
    	КонецЕсли;
    	Если НачалоДня(ТекущаяДата()) + 13*60*60 > ТекущаяДата() Тогда
    		ЗаголовокДляУстановки = Формат(Дата('00010101') + (НачалоДня(ТекущаяДата()) + 13*60*60 - ТекущаяДата()), "ДФ=HH:mm:ss");
    		Если Прав(ЭтаФорма.Заголовок,1) <> "\" и Прав(ЭтаФорма.Заголовок,1) <> "|" и Прав(ЭтаФорма.Заголовок,1) <> "/" и Прав(ЭтаФорма.Заголовок,1) <> "-" тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " \";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "\" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + "  |"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "|" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " /";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "/" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " --";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "-" Тогда   
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " \";
    		КонецЕсли;	
    	ИначеЕсли НачалоДня(ТекущаяДата()) + 14*60*60 > ТекущаяДата() тогда		
    		Если Прав(ЭтаФорма.Заголовок,1) <> "\" и Прав(ЭтаФорма.Заголовок,1) <> "|" и Прав(ЭтаФорма.Заголовок,1) <> "/" и Прав(ЭтаФорма.Заголовок,1) <> "-" тогда
    			ЭтаФорма.Заголовок = "??:??:??" + " \"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "\" Тогда
    			ЭтаФорма.Заголовок = "??:??:??" + "  |"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "|" Тогда
    			ЭтаФорма.Заголовок = "??:??:??" + " /";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "/" Тогда
    			ЭтаФорма.Заголовок = "??:??:??" + " --";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "-" Тогда   
    			ЭтаФорма.Заголовок = "??:??:??" + " \";
    		КонецЕсли;
    	ИначеЕсли НачалоДня(ТекущаяДата()) + 18*60*60 > ТекущаяДата() Тогда
    		ЗаголовокДляУстановки = Формат(Дата('00010101') + (НачалоДня(ТекущаяДата()) + 18*60*60 - ТекущаяДата()), "ДФ=HH:mm:ss");
    		Если Прав(ЭтаФорма.Заголовок,1) <> "\" и Прав(ЭтаФорма.Заголовок,1) <> "|" и Прав(ЭтаФорма.Заголовок,1) <> "/" и Прав(ЭтаФорма.Заголовок,1) <> "-" тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки  + " \"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "\" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + "  |"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "|" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " /";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "/" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " --";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "-" Тогда   
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " \";
    		КонецЕсли;
    	Иначе
    		Если Формат(ТекущаяДата(), "ДФ=dddd") = "пятница" тогда
    			Если Прав(ЭтаФорма.Заголовок,1) <> ")" тогда
    				ЭтаФорма.Заголовок = "С Пятницей!!! :)";
    			Иначе
    				ЭтаФорма.Заголовок = "С Пятницей!!! xD";
    			КонецЕсли; 
    		Иначе
    			Если Прав(ЭтаФорма.Заголовок,1) <> "\" и Прав(ЭтаФорма.Заголовок,1) <> "|" и Прав(ЭтаФорма.Заголовок,1) <> "/" и Прав(ЭтаФорма.Заголовок,1) <> "-" тогда
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + " \"; 
    			ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "\" Тогда
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + "  |"; 
    			ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "|" Тогда
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + " /";
    			ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "/" Тогда
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + " --";
    			ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "-" Тогда   
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + " \";
    			КонецЕсли;	
    		КонецЕсли;
    	КонецЕсли;
    КонецПроцедуры

    Текст процедуры обработчика ожидания обработки, показывающей время до обеда и до окончания рабочего дня.

    EvilWisp, 05 Октября 2011

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

    +130

    1. 1
    <script type="text/javascript" src="http://c.am11.ru/code/pop/ItsMeRu.js" style="display: none; visibility: hidden; "></script>

    от старых браузеров штоле?

    jQuery, 03 Октября 2011

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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if (sp($this->answer, "\r\n\r\n") !== false) { // separating header and body by RFC
                $this->divPos = sp($this->answer, "\r\n\r\n");
                $this->divLen = 4;
    } elseif (sp($this->answer, "\n\n") !== false) { // but some guys... don't like RFC...
                $this->divPos = sp($this->answer, "\n\n");
                $this->divLen = 2;
    } else {
                $this->divPos = mb_strlen($this->answer);
                $this->divLen = 0;
    }

    не гавно, но улыбнуло:)

    p.s.: sp() - аналог strpos()

    jokz, 02 Октября 2011

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

    +146

    1. 1
    См. ниже

    Напишите мне бота-минусатора неугодных. Срочно нужен. Куплю за 3 банки вазелина. Анал не предлагать. Расстрел на месте.

    CPPGovno, 01 Октября 2011

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