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

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

    +154

    1. 1
    2. 2
    this.ie = (name=="ie" && this.v>=4)
    this.activeX = ( this.ie ) ? true : false;

    Кусочек шедевра
    https://github.com/miketaylr/Snort/blob/master/snort.yml

    kindofbear, 30 Апреля 2012

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

    +75

    1. 1
    2. 2
    <input type="text" value="1" id="Count" size="1">
    <a href="<?=$arResult["ADD_URL"]?>" rel="nofollow" onclick="return addToCart(this, 'catalog_detail_image', 'detail', '<?=GetMessage("CATALOG_IN_BASKET")?>');" id="catalog_add2cart_link"><span><img src="/upload/cart.jpg"></span>

    o1eg, 29 Апреля 2012

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

    +90

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($value != 0) { // Если значение не равно нулю
    $this->koeff = $value * 0.01; // Коэффициенту этого экземляра класса присвоить одну сотую от цены
    $count++; // Счетчик увеличиваем на единицу
    } else { // Иначе
    $this->koeff=0; // Устанавливаем коэффициент этого экземпляра класса равным нулю
    // Счетчик не увиличиваем
    } // Конец условия

    Код боевой не мой, комментарии авторские.

    Tairesh, 26 Апреля 2012

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

    +70

    1. 1
    if (sAttrName.equalsIgnoreCase("10")) {

    someone, 23 Апреля 2012

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    foreach ($metrics as $m)
    		{
    		eval('$data["'.$a.'"]["'.$m.'"] = $result->get'.$m.'();');
    		}

    На одном из сайтов который объясняют как работать с гугл аналикс апи.
    Нафига выполнять столько раз евал???

    не легче и лучше
    $key = 'get' . $m;
    $data[$a][$m] = $result->{$key}();
    евалить стопицот рас???

    3xdimon, 19 Апреля 2012

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

    +1002

    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
    //pugiXML.cpp:
    template <bool _1, bool _2, bool _3, bool _4> struct opt4_to_type
    	{
    		static const bool o1;
    		static const bool o2;
    		static const bool o3;
    		static const bool o4;
    	};
    
    	template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o1 = _1;
    	template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o2 = _2;
    	template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o3 = _3;
    	template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o4 = _4;
    //...
    case 0:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 0, 0>());
    		case 1:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 0, 1>());
    		case 2:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 1, 0>());
    		case 3:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 1, 1>());
    		case 4:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 1, 0, 0>());
    		case 5:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 1, 0, 1>());
    //...
    		case 14: return strconv_attribute_t(s, end_quote, opt4_to_type<1, 1, 1, 0>());
    		case 15: return strconv_attribute_t(s, end_quote, opt4_to_type<1, 1, 1, 1>());
    //...
    inline xml_parse_result make_parse_result(xml_parse_status status, unsigned int offset, unsigned int line)
    	{
    		xml_parse_result result = {status, offset, line};
    		return result;
    	}
    
    //pugixpath.cpp:
    block = static_cast<memory_block*>(operator new(size + sizeof(memory_block) - xpath_memory_block_size));

    PugiXML

    Говногость, 16 Апреля 2012

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

    +1002

    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
    void TExternalIOBuffer::swap(TExternalIOBuffer& Buffer)
    {
    	ASSERT(typeid(Buffer)==typeid(TExternalIOBuffer));
    	const TExternalIOBuffer CurrentBuffer=*this;
    	const TExternalIOBuffer OtherBuffer=Buffer;
    	Buffer.~TExternalIOBuffer();
    	::new((void*)&Buffer) TExternalIOBuffer(CurrentBuffer);
    	this->~TExternalIOBuffer();
    	::new((void*)this) TExternalIOBuffer(OtherBuffer);
    };
    
    const TExternalIOBuffer& TExternalIOBuffer::operator=(const TAbstractIOBuffer& Buffer)
    {
    	this->~TExternalIOBuffer();
    	::new((void*)this)TExternalIOBuffer(Buffer);
    	return *this;
    };

    Большой проект, попало в релиз.

    Говногость, 16 Апреля 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    foreach ($items as $item_id)
    {
        if ((int)$item_id<=0)
            die();
        // ...
        if (!$redis->sIsMember("views_today_stats_sadd:{$views_stats_namespace}",$key))
            $redis->sAdd("views_today_stats_sadd:{$views_stats_namespace}",$key);
        // ...
    }

    Пехепешник второго уровня: циклы уже осилил, а вот с множествами пока не разобрался.

    roman-kashitsyn, 14 Апреля 2012

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

    +157

    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
    $(document).ready(function(){ 
    
            // ...
    
    	var nom1=0;
    	var nom2=0;
    	
    	$("#first").live("hover", function() {
    		$(".blocks1").addClass('activ_block');
    		$(".blocks1 .block1").addClass('activ_block');
    		$(".blocks1 .block2").addClass('activ_block');
    		$(".blocks1 .block2 ul").eq(0).addClass('activ_block');
    		$(".blocks1 .block1 a").eq(0).addClass('active_red');
    		nom1 = 0;
    		
    		$(".blocks").removeClass('activ_block');
    		$(".blocks2").removeClass('activ_block');
    		$(".blocks3").removeClass('activ_block');
    		$(".blocks .blocks ul").removeClass('activ_block');
    		$(".blocks .blocks div").removeClass('activ_block');
    		$(".blocks .block1").removeClass('activ_block');
    		$(".blocks .block2").removeClass('activ_block');
    		$(".blocks .block3").removeClass('activ_block');
    		$(".blocks .block1 a").removeClass('active_reds');
    		$(".blocks .block2 a").removeClass('active_reds');
    	});
    	
    	$(".blocks1 .block1 a").live("click", function() { 
    		nom1 = $(".blocks1 .block1 a").index(this); // id level 2
    		$(".blocks1 .block1 a").removeClass('active_red');
    		$(this).addClass('active_red');
    		$(".blocks1 .block2 ul").removeClass('activ_block');
    		$(".blocks1 .block2").addClass('activ_block');
    		$(".blocks1 .block2 ul").eq((nom1)).addClass('activ_block');	
    	});
    	
    	$(".blocks1 .block2 a").live("hover", function() { 
    		nom2 = $(".blocks1 .block2 ul.activ_block a").index(this); // id level 3
    		
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block3 div div").removeClass('activ_block');
    		$(".blocks1 .block3").addClass('activ_block');
    		$(".blocks1 .block3 div.z").eq((nom1)).addClass('activ_block');
    		$(".blocks1 .block3 div.activ_block div").eq((nom2)).addClass('activ_block');
    
    		$(".blocks1 .block2 a").removeClass('active_reds');
    		$(this).addClass('active_reds');		
    	});
    	
    	$(".blocks1 .block1").hover(function() { 
    		$(".blocks1 .block3").removeClass('activ_block');
    		$(".blocks1 .block2 a").removeClass('active_reds');
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block3 div div").removeClass('activ_block');
    	} , 
    	function() {
    		
    	});
    	
    	$(".blocks1 .block3").hover(function() { 
    	} , 
    	function() {
    		
    	});
    	
    	$(".blocks1 .block2").hover(function() {
    		$(".blocks1 .block3").removeClass('activ_block');
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block2 a").removeClass('active_reds');
    	} , 
    	function() { 
    		if ($(".blocks1 .block3").hasClass('activ_block')) {
    		} else {
    		}
    	});
    
            // ...
    
    });

    Очередной шедевр jQuery-мастеров. Скрипт меню, приведенный код - около трети от общего количества такого же.

    sap1ens, 13 Апреля 2012

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if($errors == 0){
                $filename = 'films.txt';
                if(!file_exists($filename)){
                    flose(fopen($filename,'w'));
                }
    }

    denis90, 12 Апреля 2012

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