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

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

    +168

    1. 1
    <? echo convert($current_order['post_price']-1+1, 'CNY', $order_currency); ?>

    цена плюсминусадин

    Axell, 14 Мая 2011

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

    +168

    1. 1
    2. 2
    3. 3
    $new_array=array();
    foreach ($old_array as $k => $v)
        $new_array[$k] = $v;

    Таким образом чел создаёт копию массива...

    uni, 14 Мая 2011

    Комментарии (9)
  4. C++ / Говнокод #6531

    +168

    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
    typedef union Variant
        {
        public:
            Variant() {}
    
            Variant(signed int val) :
                v_int(val)
            {}
            operator signed int &() { return const_cast<signed int&>(this->operator const signed int &()); }
            operator const signed int&() const { return v_int; }
    
            Variant(unsigned int val) :
                v_uint(val)
            {}
            operator unsigned int &() { return const_cast<unsigned int&>(this->operator const unsigned int &()); }
            operator const unsigned int &() const { return v_uint; }
    
            Variant(char val) :
                v_char(val)
            {}
            operator char &() { return const_cast<char&>(this->operator const char &()); }
            operator const char&() const { return v_char; }
    
            Variant(double val) :
                v_float(val)
            {}
            operator double &() { return const_cast<double&>(this->operator const double &()); }
            operator const double &() const { return v_float; }
    
            Variant(void *val) :
                v_ptr(val)
            {}
            operator void*& () { return const_cast<void*&>(this->operator void *&()); }
            operator const void* const& () const { return v_ptr; }
    
            static size_t getValueSize(const Type::OfType &type)
            {
                size_t result = 0;
                switch ( type )
                {
                case Type::Pointer:
                case Type::CharPtr:
                case Type::IntPtr:
                case Type::UIntPtr:
                case Type::RealPtr:
                case Type::String:
                    result = sizeof(v_ptr);
                    break;
                case Type::Char:
                    result = sizeof(v_char);
                    break;
                case Type::Int:
                    result = sizeof(v_int);
                    break;
                case Type::UInt:
                    result = sizeof(v_uint);
                    break;
                case Type::Real:
                    result = sizeof(v_float);
                    break;
                case Type::Void:
                    result = 0;
                    break;
                }
                return result;
            }
    
        private:
            void* v_ptr;
            char v_char;
            unsigned int v_uint;
            signed int v_int;
            double v_float;
        } Variant;

    Небольшая имплементация безтиповости ;-[

    Elvenfighter, 02 Мая 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ($sum == 30) {
        return 24;
    } else {
        return $sum * 0.8;
    }

    stark, 28 Апреля 2011

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

    +168

    1. 1
    $fails = readdir($handle);

    Не удивительно, что скрипт у автора никак не хотел работать как надо.

    Uchkuma, 22 Апреля 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function sleep(time) {
    	var t0 = new Date;
    	for (var i = 0; i < 1E7; i++);
    	t0 = new Date - t;
    	for (var i = 0; i < Math.round(time / t0); i++)
    		for (var j = 0; j < 1E7; j++);
    }

    Вот так на Чукотке пишут sleep()

    fuckyounoob, 22 Апреля 2011

    Комментарии (31)
  8. JavaScript / Говнокод #6223

    +168

    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 eto_zifra(symbol)
    93{
    94var value_1=false;
    95if(symbol=='0') value_1=true;
    96if(symbol=='1') value_1=true;
    97if(symbol=='2') value_1=true;
    98if(symbol=='3') value_1=true;
    99if(symbol=='4') value_1=true;
    100if(symbol=='5') value_1=true;
    101if(symbol=='6') value_1=true;
    102if(symbol=='7') value_1=true;
    103if(symbol=='8') value_1=true;
    104if(symbol=='9') value_1=true;
    105return value_1
    106}

    Сайт радиомагазина http://tda2000.ru/home/price

    mef1stofel, 05 Апреля 2011

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

    +168

    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
    template <typename T> T min3 (T v1, T v2, T v3) {
      T min = v1;
      if (min > v2)
        min = v2;
      if (min > v3)
        min = v3;
      return min;
    };
    
    template <typename T> T max3 (T v1, T v2, T v3) {
      T max = v1;
      if (max < v2)
        max = v2;
      if (max < v3)
        max = v3;
      return max;
    };

    Как говорится - главное, чтоб работало.

    panter_dsd, 04 Апреля 2011

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

    +168

    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
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    #define TPLM Tuple(TPLMOVE) + 
    #define TPLC Tuple(TPLCOPY) + 
    #define TPL Tuple() + 
    //#define GTPL Tuple() +
    #define TPLERROR(t) { memcpy(0, 0, 1); }
    
    #define TPLMOVE    1 // copy to tuple, memset 0 original. = destruct dest, copy to dest.
    #define TPLCOPY    2 // copy constructor = destruct dest, copy to dest
    #define TPLGET    3 // destruct all values :)
    
    #include <memory.h>
    #include <math.h>
    #include <stdio.h>
    #include <typeinfo>
    #include <string.h>
    
    #define max(a, b) (((a) > (b)) ? (a) : (b))
    #define min(a, b) (((a) < (b)) ? (a) : (b))
    
    unsigned int mcrc(char* name, unsigned int sz){
        unsigned int ret=0; if(!sz) sz=(unsigned int)strlen(name);
        char*t=name+sz; int p=0;
        while(name<t){
            *(((char*)&ret)+p)+=*name; p++;
            if(p>=4) p=0; name++;
        }
    return ret;
    }
    
    struct Tupled{ unsigned int sz, type; void *v; char data[0]; };
    
    class Tuple{
        int count, set, dusz, dasz;
        unsigned char *data;
        int type; int adel; 
    
    public:
        Tuple(){ count=0; set=0; type=0; dusz=0; dasz=0; data=0; adel=0; }
        Tuple(int t){ type=t; }
    
        ~Tuple(){ if(count!=set) TPLERROR("~Tuple"); delete data; }
    
        Tuple(Tuple &t){
            count=t.count; set=t.set; dusz=t.dusz; dasz=t.dasz; data=t.data;
            t.count=0; t.set=0; t.data=0; adel=1;
        }
    
        template <class T>
        Tuple& operator+(T &t){ if(!adel) Add(&t, sizeof(t), t); else Del(&t, sizeof(t), t); return *this; }
        template <class T>
        Tuple& operator-(T &t){ if(!adel) Add(&t, sizeof(t), t); else Del(&t, sizeof(t), t); return *this; }
    
    /* Операторы '*', '/', ',', '>', '<' код идентичен */
    
        template <class T>
        void Add(void *v, int s, T &t){
            if(dasz-dusz<s+4+(int)sizeof(void*)){
                unsigned char *ldata=data;
                data=new unsigned char[dasz+max(128, s+4)];
                memcpy(data, ldata, dasz);
                dasz+=max(128, s);                    
                delete [] ldata;
            }
            Tupled &d=*(Tupled*)(data+dusz);
            d.sz=s;
            memcpy(&d.v, v, sizeof(void*));
            if(type==TPLCOPY){ *(T*)d.data=t; } else memcpy(d.data, v, s);
            if(type==TPLMOVE) t.~T();
    
            d.type=mcrc((char*)typeid(t).name(), 0);
            dusz+=sizeof(Tupled)+s; count++;
        }
    
        template <class T>
        void Del(void *v, int s, T &t){
            if(set>=count){ TPLERROR("Tuple::Set"); return ; }
            unsigned char *p=GetData(set);
            if(!p){ TPLERROR("Tuple::NoData"); return ; }
    
            Tupled &d=*(Tupled*)p;
            unsigned int tp=mcrc((char*)typeid(t).name(), 0);
            if(tp!=d.type){ TPLERROR("Tuple::TYPE"); return ;}
    
            t.~T();
            if(d.sz!=s){ TPLERROR("Tuple::SIZE"); return ;}
            memcpy(v, d.data, d.sz);
            
            set++;
        }
    
        unsigned char* GetData(int c){
            if(c>=count) return 0;
            unsigned char *p=data;
            for(int i=0; i<c; i++){
                p+=sizeof(Tupled)+*(int*)p;
            }
            return p;
        }
    };

    Очередной самобытный велосипед от микеля.

    http://rsdn.ru/forum/src/4218954.aspx

    cutwater, 02 Апреля 2011

    Комментарии (39)
  11. JavaScript / Говнокод #6144

    +168

    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
    $('#status:first').html('Выберите нужный подарок и НАЖМИТЕ по нему!');
    $("#status:eq(1)").html("Ваш баланс:<span class='balans'>"+balans);
    $("#status:eq(1)").html($("#status:eq(1)").html()+"</span>");
    function otkritPodarokOdin(){
    	document.getElementById('podarokOdin').style.display='block';
    	if($('.balans').html() == '10' || parseFloat($('.balans').html()) > 10){}else{
    		$('div[id="podarokOdin"]').hide();
    		$('#status:first').html('Ошибка!НЕДОСТАТОЧНО СРЕДСТВ НА СЧЕТУ!');
    	}
    };
    function otkritPodarokDva(){
    	document.getElementById('podarokDva').style.display='block';
    	if($('.balans').html() == '10' || parseFloat($('.balans').html()) > 10){}else{
    		$('div[id="podarokDva"]').hide();
    		$('#status:first').html('Ошибка!НЕДОСТАТОЧНО СРЕДСТВ НА СЧЕТУ!');
    	}
    };
    function otkritPodarokTri(){
    	document.getElementById('podarokTri').style.display='block';
    	if($('.balans').html() == '10' || parseFloat($('.balans').html()) > 10){}else{
    		$('div[id="podarokTri"]').hide();
    		$('#status:first').html('Ошибка!НЕДОСТАТОЧНО СРЕДСТВ НА СЧЕТУ!');
    	}
    };
    function otkritPodarokChetyre(){
    	document.getElementById('podarokChetyre').style.display='block';
    	if($('.balans').html() == '10' || parseFloat($('.balans').html()) > 10){}else{
    		$('div[id="podarokChetyre"]').hide();
    		$('#status:first').html('Ошибка!НЕДОСТАТОЧНО СРЕДСТВ НА СЧЕТУ!');
    	}
    };
    function otkritPodarokPyat(){
    	document.getElementById('podarokPyat').style.display='block';
    	if($('.balans').html() == '10' || parseFloat($('.balans').html()) > 10){}else{
    		$('div[id="podarokPyat"]').hide();
    		$('#status:first').html('Ошибка!НЕДОСТАТОЧНО СРЕДСТВ НА СЧЕТУ!');
    	}
    };
    function otkritPodarokShest(){
    	document.getElementById('podarokShest').style.display='block';
    	if($('.balans').html() == '10' || parseFloat($('.balans').html()) > 10){}else{
    		$('div[id="podarokShest"]').hide();
    		$('#status:first').html('Ошибка!НЕДОСТАТОЧНО СРЕДСТВ НА СЧЕТУ!');
    	}
    };

    Воздержусь указывать где говнокод. Собственно повсюду.

    stuffort, 30 Марта 2011

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