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

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

    +162

    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
    #ifdef _WIN32
    #define BEGIN_ASM
    #define END_ASM
    #define _DB(a) __asm _emit a
    #define _STR(a) a
    #else
    #define BEGIN_ASM asm (
    #define END_ASM );
    #define _DB(a) ".byte "#a";"
    #define _STR(a) a" \n\t"
    #endif
    
    #define PARAMETERS_ESP_VOID_VOID_VOID BEGIN_ASM _STR(_DB(0x8B) _DB(0x44) _DB(0x24) _DB(0x04)) _STR(_DB(0x8B) _DB(0x54) _DB(0x24) _DB(0x08)) \
     _STR(_DB(0x8B) _DB(0x4C) _DB(0x24) _DB(0x0C)) END_ASM
    #define SAVE_3_PARAMETERS BEGIN_ASM _STR(_DB(0x89) _DB(0x44) _DB(0x24) _DB(0xE4)) _STR(_DB(0x89) _DB(0x54) _DB(0x24) _DB(0xEC)) \
    _STR(_DB(0x89) _DB(0x4C) _DB(0x24) _DB(0xE8)) END_ASM
    #define LOAD_3_PARAMETERS BEGIN_ASM _STR(_DB(0x8B) _DB(0x44) _DB(0x24) _DB(0xE4)) _STR(_DB(0x8B) _DB(0x54) _DB(0x24) _DB(0xEC)) \
    _STR(_DB(0x8B) _DB(0x4C) _DB(0x24) _DB(0xE8)) END_ASM
    
    int rdtc()
    {
      _asm RDTSC
    }
    
    #pragma optimize( "gtp", on )
    #define VECTORP2DADDFPU \
    BEGIN_ASM \
     _STR(_DB(0xD9) _DB(0x00)) \
     _STR(_DB(0xD8) _DB(0x02)) \
     _STR(_DB(0xD9) _DB(0x19)) \
     _STR(_DB(0xD9) _DB(0x40) _DB(0x04)) \
     _STR(_DB(0xD8) _DB(0x42) _DB(0x04)) \
     _STR(_DB(0xD9) _DB(0x59) _DB(0x04)) \
    END_ASM
    
    void __stdcall __VectorP2DAddFPU() {
      VECTORP2DADDFPU;
    }
    
    // для даной функции компилятор сам зделает так чтобы использовались другие регистры процессора в место eax edx ecx и сохранения не понадобится
    #define Vector2DAdd(x,y,z) _asm lea eax,x _asm lea edx,y _asm lea ecx,z _asm call __VectorP2DAddFPU;
    
    void __stdcall _VectorP2DAddFPU(void *,void *,void *) {
    // сохранение в данном случае вызывается в ручную так как сам компилятор этого не зделает что приведет к не предвиденниму результату или к подению
      SAVE_3_PARAMETERS;
      PARAMETERS_ESP_VOID_VOID_VOID;
      VECTORP2DADDFPU;
      LOAD_3_PARAMETERS;
    }

    http://www.gamedev.ru/code/forum/?id=152492#m3

    >стоит ли писать велосипед, реализующий математику подобным образом?

    CPPGovno, 18 Сентября 2011

    Комментарии (20)
  3. C++ / Говнокод #7877

    +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
    class SOME_CLASS
    {
    public:
    
      struct
      {
        inline uintb operator = (uintb newValue )
        {
           (reinterpret_cast<SOME_CLASS*>(static_cast<char*>(this)-offsetof(SOME_CLASS,SOME_CLASS::i)))->_setI( newValue  );
        }
        inline operator uintb ()
        {
           return (reinterpret_cast<SOME_CLASS*>(static_cast<char*>(this)-offsetof(SOME_CLASS,SOME_CLASS::i)))->_i;
        }
        ...
        ...
      } i;
    
     ...
    private:
      void _setI( uintb newValue );
      uintb _i;
    }

    http://www.gamedev.ru/code/forum/?id=152459#m1

    >P.S. обязательно поставить + на govnokod.ru.

    CPPGovno, 16 Сентября 2011

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

    +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
    assert( top( o-------o
                 |L       \
                 | L       \
                 |  o-------o
                 |  !       !
                 !  !       !
                 o  |       !
                  L |       !
                   L|       !
                    o-------o ) == ( o-------o
                                     |       !
                                     !       !
                                     o-------o ) );

    CPPGovno, 02 Сентября 2011

    Комментарии (20)
  5. JavaScript / Говнокод #7700

    +169

    1. 1
    if (!document.getElementById) return;

    Официальный сайт города Сочи

    Connor, 30 Августа 2011

    Комментарии (20)
  6. JavaScript / Говнокод #7658

    +175

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function showOrHide(id) {
    if(jQuery('#'+id).is(':hidden')) {
    jQuery('#'+id).show();
    } else {
    jQuery('#'+id).hide();
    }
    }

    rutube.ru, jQuery().toggle()

    LoserJS, 26 Августа 2011

    Комментарии (20)
  7. Java / Говнокод #7639

    +77

    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
    @SuppressWarnings("unchecked")
    public void addImage(String key, Bitmap bmp){
    		
    	if(memCache.size() >= MAX_CACHE_SIZE){
    			
    		Object[] array = (Entry[]) cacheUsage.entrySet().toArray();
    			
    		Arrays.sort(array, new Comparator<Object>(){
    				
    			public int compare(Object object1, Object object2) {
    				return (Integer)(((Map.Entry<String, Integer>)object1).getValue()) - 
    						(Integer)(((Map.Entry<String, Integer>)object2).getValue());
    			}
    		});
    			
    		String keyForRemove = ((Map.Entry<String, Integer>)array[0]).getKey();
    		memCache.remove(keyForRemove);
    		cacheUsage.remove(keyForRemove);
    	}
    	
    }

    до чего довело желание всё оптимизацировать

    KoirN, 24 Августа 2011

    Комментарии (20)
  8. Куча / Говнокод #7499

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?xml version="1.0" encoding="utf-8"?><FieldSmartConfiguration encoding="basic">
    	DQo8SGVhZGVyPg0KPFBsYXRmb3JtVmVyc2lvbj40LjMuMS4wPC9QbGF0Zm9ybVZl
    	cnNpb24+DQo8L0hlYWRlcj4NCjxab25lcz4NCjxab25lIGlkPSIxIiBuYW1lPSJa
    	b25lIDEiIGRlc2M9IlpvbmUgMSI+DQo8V29ybGQ+DQo8Qm91bmRzLz4NCjxNYXBB
    	cmVhLz4NCjxPZmZzZXRzLz4NCjxXb3JsZFVuaXRPZk1lYXN1cmU+bWV0ZXJzPC9X
    	b3JsZFVuaXRPZk1lYXN1cmU+DQo8TWFwQm91bmRzVW5pdE9mTWVhc3VyZT5tZXRl
    	cnM8L01hcEJvdW5kc1VuaXRPZk1lYXN1cmU+DQo8RGlzcGxheVVuaXRPZk1lYXN1
    	cmU+dW5rbm93bjwvRGlzcGxheVVuaXRPZk1lYXN1cmU+DQo8TWFwRGF0YVVuaXRP
    	[...]
    	IjU4NDYiIG9iamVjdHR5cGU9InBvbGUiIGdyYXBoaWNpZD0iNDIxOCIvPg0KPC9O
    	ZXdPYmplY3RzPg0KPC9JbnNwZWN0Pg0KPC9ab25lPg0KPC9ab25lcz4NCg==
    	</FieldSmartConfiguration>

    Наконец-то изобрели безопастный XML! Ура!

    bugmenot, 09 Августа 2011

    Комментарии (20)
  9. Си / Говнокод #7493

    +106

    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
    if (fFisWaitAccept)
        {
            if (++countB > 2)
            {
                countB = 0;
                TRACE("ERROR TIMER B\n");
                Reinit_ATS_Connection();
                fFisWaitAccept = false;
                set_timer_b(tmB);
                return;
            }
        }
        else
            countB = 0;
        SendFrameToATS(buf, 4);        //visilaem neskolko raz
        SendFrameToATS(buf, 4);        //FW dlia bolshej uverennosti
        SendFrameToATS(buf, 4);        //ibo esli etot paket nedojdiot sviazi pizdec
        fFisWaitAccept = true;
        set_timer_b(tmB);

    Фрагмент кода управляющей программы для некоей АТС.

    b10876198, 09 Августа 2011

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

    +146

    1. 1
    2. 2
    3. 3
    public static function correctTextForHTML($inSTR) {
         return preg_replace("/\r\n|\n|\r/", "<br/>", $inSTR);
    }

    Sers, 05 Августа 2011

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

    +174

    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
    var reps = 2
    var speed = 500
    
    var message = '0';
    var p='15';
    var T="";
    var C=0;
    var mC=0;
    var s=0;
    var sT=null;
    if(reps<1)reps=1;
    function doTheThing(){
    T=message[mC];
    A();}
    function A()
    {
    s++
    if(s>15){s=1}
    
    if(s==1){document.title='W'}
    if(s==2){document.title='WE'}
    if(s==3){document.title='WEL'}
    if(s==4){document.title='WELC'}
    if(s==5){document.title='WELCO'}
    if(s==6){document.title='WELCOM'}
    if(s==7){document.title='WELCOME'}
    if(s==8){document.title='WELCOME T'}
    if(s==9){document.title='WELCOME TO'}
    if(s==10){document.title='WELCOME TO M'}
    if(s==11){document.title='WELCOME TO MY'}
    if(s==12){document.title='WELCOME TO MY S'}
    if(s==13){document.title='WELCOME TO MY SI'}
    if(s==14){document.title='WELCOME TO MY SIT'}
    if(s==15){document.title='WELCOME TO MY SITE'}
    
    if(C<(8*reps)){
    sT=setTimeout("A()",speed);
    C++
    }else{
    C=0;
    s=0;
    mC++
    if(mC>p-1)mC=0;
    sT=null;
    doTheThing();}}
    doTheThing();

    Накопал на древнем сайте по веб-дизайну, какого то самоучки )
    ощущение что делалось чтобы показать как не надо делать , но лежало без подписей вообще

    nazymko, 04 Августа 2011

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