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

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

    −115

    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
    SELECT product.entity_id as pid, 
           vTitle.value as title, vLength.value as length, vWidth.value as width, vHeight.value as height, vWeight.value as weight, vCapacity.value as capacity, vImg.value as img,
           tShort.value as short, tText.value as text,
           dPrice.value as price,
           cParent.category_id as parent
    FROM catalog_product_entity as product
    LEFT JOIN catalog_product_entity_varchar as vTitle ON vTitle.entity_id=product.entity_id AND vTitle.attribute_id=60
    LEFT JOIN catalog_product_entity_varchar as vLength ON vLength.entity_id=product.entity_id AND vLength.attribute_id=122
    LEFT JOIN catalog_product_entity_varchar as vWidth ON vWidth.entity_id=product.entity_id AND vWidth.attribute_id=123
    LEFT JOIN catalog_product_entity_varchar as vHeight ON vHeight.entity_id=product.entity_id AND vHeight.attribute_id=124
    LEFT JOIN catalog_product_entity_varchar as vWeight ON vWeight.entity_id=product.entity_id AND vWeight.attribute_id=69
    LEFT JOIN catalog_product_entity_varchar as vCapacity ON vCapacity.entity_id=product.entity_id AND vCapacity.attribute_id=125
    LEFT JOIN catalog_product_entity_varchar as vImg ON vImg.entity_id=product.entity_id AND vImg.attribute_id=74
    LEFT JOIN catalog_product_entity_text as tShort ON tShort.entity_id=product.entity_id AND tShort.attribute_id=62
    LEFT JOIN catalog_product_entity_text as tText ON tText.entity_id=product.entity_id AND tText.attribute_id=61
    LEFT JOIN catalog_product_entity_decimal as dPrice ON dPrice.entity_id=product.entity_id AND dPrice.attribute_id=64
    LEFT JOIN (SELECT c.category_id, c.product_id FROM catalog_category_product as c ORDER BY c.category_id DESC) as cParent ON cParent.product_id=product.entity_id
    GROUP BY cParent.product_id ORDER BY cParent.product_id

    Мой говнокод-неговнокод по экспорту товара из Magento в нашу CMS

    Android991, 17 Октября 2011

    Комментарии (5)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. Куча / Говнокод #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)
  11. 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)