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

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

    +61

    1. 1
    2. 2
    3. 3
    FILE *h=fopen(fileDMB, "r");
    char *fileDMBtext;
    while(fileDMBtext=fgetc(h)!=EOF){return 0;}

    Я даже знаю компилятор в котором это работает.

    hromjo, 20 Апреля 2010

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

    +912.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ... WndProc (...)
    {
          case WM_PAINT:
               SetPixel (dc, 0, 0, RGB (255, 0, 0));
               if (GetPixel (dc, 0, 0) == RGB (255, 0, 0))
                       printf ("Я знал!");
          break;
    }

    ...

    XAKEP, 18 Апреля 2010

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

    +166

    1. 1
    $limit = (isset($this->params['pass'][1]) == 'news')?null:5;

    балина, и это работает :D

    lener, 02 Апреля 2010

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

    +170.8

    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
    Char2Hex = new Object();
    
    Char2Hex['_']='%5F';
    Char2Hex['А']='%C0';
    Char2Hex['Б']='%C1';
    Char2Hex['В']='%C2';
    Char2Hex['Г']='%C3';
    Char2Hex['Д']='%C4';
    Char2Hex['Е']='%C5';
    Char2Hex['Ж']='%C6';
    Char2Hex['З']='%C7';
    Char2Hex['И']='%C8';
    Char2Hex['Й']='%C9';
    Char2Hex['К']='%CA';
    Char2Hex['Л']='%CB';
    Char2Hex['М']='%CC';
    Char2Hex['Н']='%CD';
    Char2Hex['О']='%CE';
    Char2Hex['П']='%CF';
    Char2Hex['Р']='%D0';
    Char2Hex['С']='%D1';
    Char2Hex['Т']='%D2';
    Char2Hex['У']='%D3';
    Char2Hex['Ф']='%D4';
    Char2Hex['Х']='%D5';
    Char2Hex['Ц']='%D6';
    Char2Hex['Ч']='%D7';
    Char2Hex['Ш']='%D8';
    Char2Hex['Щ']='%D9';
    Char2Hex['Ъ']='%DA';
    Char2Hex['Ы']='%DB';
    Char2Hex['Ь']='%DC';
    Char2Hex['Э']='%DD';
    Char2Hex['Ю']='%DE';
    Char2Hex['Я']='%DF';
    Char2Hex['а']='%E0';
    Char2Hex['б']='%E1';
    Char2Hex['в']='%E2';
    Char2Hex['г']='%E3';
    Char2Hex['д']='%E4';
    Char2Hex['е']='%E5';
    Char2Hex['ж']='%E6';
    Char2Hex['з']='%E7';
    Char2Hex['и']='%E8';
    Char2Hex['й']='%E9';
    Char2Hex['к']='%EA';
    Char2Hex['л']='%EB';
    Char2Hex['м']='%EC';
    Char2Hex['н']='%ED';
    Char2Hex['о']='%EE';
    Char2Hex['п']='%EF';
    Char2Hex['р']='%F0';
    Char2Hex['с']='%F1';
    Char2Hex['т']='%F2';
    Char2Hex['у']='%F3';
    Char2Hex['ф']='%F4';
    Char2Hex['х']='%F5';
    Char2Hex['ц']='%F6';
    Char2Hex['ч']='%F7';
    Char2Hex['ш']='%F8';
    Char2Hex['щ']='%F9';
    Char2Hex['ъ']='%FA';
    Char2Hex['ы']='%FB';
    Char2Hex['ь']='%FC';
    Char2Hex['э']='%FD';
    Char2Hex['ю']='%FE';
    Char2Hex['я']='%FF';

    счастливые ользователи mail.ru могут наблюдать этот код в странице чтения входящего сообщения

    danilissimus, 11 Марта 2010

    Комментарии (30)
  6. C++ / Говнокод #2716

    +144.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // Руководство по созданию плагинов к асечке qutIM
    QWidget *simplePlugin::settingsWidget()
    {
        QWidget* form = new QWidget;
        return form;
    }

    Программирование на Qt, Java-style.
    Горбатый дворник, где же ты? :)

    Пруфлинк: http://www.qutim.org/forum/viewtopic.php?f=55&t=720

    Orfest, 04 Марта 2010

    Комментарии (30)
  7. Assembler / Говнокод #2617

    +260.9

    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
    7855BD60 55               push        ebp  
    7855BD61 8B EC            mov         ebp,esp 
    7855BD63 56               push        esi  
    7855BD64 33 C0            xor         eax,eax 
    7855BD66 50               push        eax  
    7855BD67 50               push        eax  
    7855BD68 50               push        eax  
    7855BD69 50               push        eax  
    7855BD6A 50               push        eax  
    7855BD6B 50               push        eax  
    7855BD6C 50               push        eax  
    7855BD6D 50               push        eax  
    7855BD6E 8B 55 0C         mov         edx,dword ptr [ebp+0Ch] 
    7855BD71 8D 49 00         lea         ecx,[ecx] 
    7855BD74 8A 02            mov         al,byte ptr [edx] 
    7855BD76 0A C0            or          al,al 
    7855BD78 74 09            je          7855BD83 
    7855BD7A 83 C2 01         add         edx,1 
    7855BD7D 0F AB 04 24      bts         dword ptr [esp],eax 
    7855BD81 EB F1            jmp         7855BD74 
    7855BD83 8B 75 08         mov         esi,dword ptr [ebp+8] 
    7855BD86 8B FF            mov         edi,edi 
    7855BD88 8A 06            mov         al,byte ptr [esi] 
    7855BD8A 0A C0            or          al,al 
    7855BD8C 74 0C            je          7855BD9A 
    7855BD8E 83 C6 01         add         esi,1 
    7855BD91 0F A3 04 24      bt          dword ptr [esp],eax 
    7855BD95 73 F1            jae         7855BD88 
    7855BD97 8D 46 FF         lea         eax,[esi-1] 
    7855BD9A 83 C4 20         add         esp,20h 
    7855BD9D 5E               pop         esi  
    7855BD9E C9               leave            
    7855BD9F C3               ret

    чудеса оптимизации

    GovnocoderJr, 14 Февраля 2010

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

    +61.3

    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
    bool SetVars()
    {
    	int i = 0;
    	int j = 0;
    
    	if (em == NULL)
    	{
    		Delay(0.001f);
    		return false;
    	};
    	
    	_end = em->end;
    	_max = em->max;
    	_min = em->min;
    	
                 //...

    В чем логика? Не могу понять...

    Говногость, 25 Января 2010

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

    +99.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #include "org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem.h"
    ...
    JNIEXPORT jlong JNICALL Java_org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem_malloc(JNIEnv* env, jobject obj) {
        ...
    }

    Взято из TuxGuitar

    xaionaro, 19 Декабря 2009

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

    +929.5

    1. 1
    2. 2
    if (a == null == false) {
    }

    когда проверял чужой код пол часа смотрел пока понял что чувак просто не умеет писать if (а != null)

    guest, 14 Декабря 2008

    Комментарии (30)
  11. Pascal / Говнокод #27

    +24

    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
    program Project1;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    type
      Деньга = record
        Достоинство:integer;
        Количество:integer;
      end;
    
    var
      Лопатник: array of Деньга;
    
    procedure ПоложитьНаЛопату(Купюра:Integer);
    var
      I: Integer;
      УжеПоложили:Boolean;
    begin
      if Купюра=0 then
        Exit;
      УжеПоложили:=False;
      for I := low(Лопатник) to High(Лопатник) do
        if Лопатник[i].Достоинство=Купюра then
          begin
            inc(Лопатник[i].Количество);
            УжеПоложили:=True;
          end;
      if not(УжеПоложили) then
        begin
          SetLength(Лопатник,Length(Лопатник)+1);
          Лопатник[High(Лопатник)].Достоинство:=Купюра;
          Лопатник[High(Лопатник)].Количество:=1;
        end;
    end;
    
    var
      Купюра:integer;
      i:integer;
      ВсегоНаЛопате:integer;
    begin
      repeat
        Readln(Купюра);
        ПоложитьНаЛопату(Купюра);
      until Купюра=0;
      ВсегоНаЛопате:=0;
      for I := low(Лопатник) to High(Лопатник) do
        begin
          WriteLn(Format('Cost = %d Count - %d',[Лопатник[i].Достоинство,Лопатник[i].Количество]));
          inc(ВсегоНаЛопате,Лопатник[i].Достоинство*Лопатник[i].Количество);
        end;
      WriteLn(Format('All money - %d',[ВсегоНаЛопате]));
      ReadLn;
    end.

    Вообще-то это Delphi, но его в списке не было ;)
    Задача была такая:
    пользователь вводит достоинства купюры в произвольном порядке, ввод прекращ

    guest, 28 Ноября 2008

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