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

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

    −407.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
    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
    SELECT   region_key AS region
            ,NAME(containedobjectsbasement_key) AS building
            ,container_node_id
            ,containedobjectsexchange_key
            ,object_name AS ats
            ,number_ranges AS diapazon
            ,exchange_type_name AS tip_ats
            ,exchange_mount_capacity AS emkost
            ,operator_licence_number AS license
            ,trace_line_relay_type_name AS tip_sl
            ,COUNT(trace_line_id) AS count5
            ,otkuda_nax AS otkuda_ats
            ,kuda_blya AS kuda_ats
            ,seven_nation_army
            ,ROWNUM
            ,cable_type_name
            ,logical_cable_length
            ,ATS_NAME
        FROM (SELECT DISTINCT r.object_id AS region_key
                             ,n.node_id AS containedobjectsbasement_key
                             ,n1.container_node_id AS container_node_id
                             ,e.node_id AS containedobjectsexchange_key
                             ,CAST(name2(e.node_id, e.exchange_class_id) AS VARCHAR2(128) ) AS object_name
                             ,e.exchange_mount_capacity AS exchange_mount_capacity
                             ,CAST( (SELECT stragg(first_number || '-' || last_number || '
                             '              )
                                       FROM number_interval
                                      WHERE exchange_id = e.node_id) AS VARCHAR2(1024) ) AS number_ranges
                             ,(SELECT e1.exchange_type_name
                                 FROM exchange_tl e1
                                WHERE e1.exchange_type_id = e.exchange_type_id) AS exchange_type_name
                             ,CAST( (SELECT s3.licence_number
                                       FROM service_operator_type s3
                                      WHERE s3.service_operator_type_id = e.operator_id) AS VARCHAR2(64) ) AS operator_licence_number
                             ,(SELECT t.trace_line_relay_type_name
                                 FROM trace_line_relay_type t
                                WHERE t.trace_line_relay_type_id = s.trace_line_relay_type_id) AS trace_line_relay_type_name
                             ,s.object_id trace_line_id
                             ,NAME(s1.exchange_id) otkuda_nax
                             ,NAME(trace_line.exchange_id) kuda_blya
                             ,(SELECT SUM(TO_NUMBER(n.last_number) - TO_NUMBER(n.first_number) + 1) AS s
                                 FROM number_interval n, region_l r
                                WHERE LENGTH(r.region_add_code || n.last_number) = 10
                                  AND LENGTH(r.region_add_code || n.first_number) = 10
                                  AND n.region_id = r.object_id
                                  AND n.exchange_id = e.node_id) AS seven_nation_army
                             ,ROWNUM
                         FROM region_l r, node n, exchange_l e, node n1, service_trace_line s, trace_line, service_l s1, node n2, OBJECT o
                        WHERE s.object_id = s1.object_id
                          AND s1.exchange_id = e.node_id
                          AND trace_line.service_id = s1.object_id
                          AND e.node_id = n1.node_id
                          AND n1.container_node_id = n.node_id
                          AND e.exchange_class_id = 100
                          AND n2.container_node_id = n.node_id
                          AND n2.entity_id = 108
                          AND n.region_id = r.object_id
                          AND n.node_type_id = 115
                          AND r.object_id = :region_key
                          AND n1.node_id = o.object_id
                          AND o.object_owner_type_id = 3) sel
            ,(SELECT r.object_id AS region_key2
                    ,c.node_id AS containedcoppercross_key
                    ,s2.linkedobjectsinterexchange_key AS linkedobjectsinterexchange_key
                    ,s2.logical_cable_length AS logical_cable_length
                    ,s2.cable_type_name AS cable_type_name
                    ,NAME(sl.exchange_id) AS ATS_NAME
                    ,NAME(el.node_id) AS el
                FROM region_l r
                    ,CROSS c
                    ,exchange_l el
                    ,node n2
                    ,service_l sl
                    ,trace_line tl
                    ,(SELECT l.node_id AS node_id
                            ,l.logical_cable_id AS linkedobjectsinterexchange_key
                            ,l.logical_cable_length AS logical_cable_length
                            ,(SELECT c.type_name
                                FROM cable_type_name c
                               WHERE c.cable_type_name_id = l.cable_type_id) AS cable_type_name
                        FROM logical_cable l
                       WHERE l.logical_cable_type_id = 455) s2
               WHERE s2.node_id(+) = c.node_id
                 AND c.node_id = n2.node_id
                 AND n2.entity_id = 108
                 AND c.node_id = el.cross_id
                 AND sl.exchange_id = el.node_id
                 AND tl.exchange_id = el.node_id
                 AND sl.entity_id = 156
                 AND r.object_id = :region_key) sel2
       WHERE NAME(kuda_blya) = ATS_NAME
    GROUP BY region_key, containedobjectsbasement_key, container_node_id, containedobjectsexchange_key, number_ranges, object_name, exchange_type_name, operator_licence_number, trace_line_relay_type_name, otkuda_nax, kuda_blya, exchange_mount_capacity
            ,operator_licence_number, seven_nation_army, ROWNUM, cable_type_name, logical_cable_length,ATS_NAME
    ORDER BY otkuda_ats

    Вызывает в Oracle10g внутреннюю ошибку
    ORA-00600: internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
    Cause: This is the generic internal error number for Oracle progra

    guest, 27 Ноября 2008

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

    +36

    1. 1
    2. 2
    3. 3
    4. 4
    ...
    catch (HeadshotException $e) {
    echo "Извините, вы застрелились: {$e->getMessage()}";
    ...

    В книге Котерова и Костарева по PHP5 наткнулся на замечательный пример кода. Прям за душу взяло, чесслово!

    (с) bash

    guest, 24 Ноября 2008

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    switch(argCount)
    	{
    		case 0: sprintf(dst, fmt); break;
    		case 1: sprintf(dst, fmt, args[0]); break;
    		case 2: sprintf(dst, fmt, args[0], args[1]); break;
    		case 3: sprintf(dst, fmt, args[0], args[1], args[2]); break;
    		case 4: sprintf(dst, fmt, args[0], args[1], args[2], args[3]); break;
    		case 5: sprintf(dst, fmt, args[0], args[1], args[2], args[3], args[4]); break;
    		case 6: sprintf(dst, fmt, args[0], args[1], args[2], args[3], args[4], args[5]); break;
    		case 7: sprintf(dst, fmt, args[0], args[1], args[2], args[3], args[4], args[5], args[6]); break;
    		case 8: sprintf(dst, fmt, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]); break;
    		...

    GAMER, 15 Января 2023

    Комментарии (29)
  5. Python / Говнокод #28164

    0

    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
    import asyncio
    
    async def hello():
        return "hello"
    
    async def world():
        return "world"
    
    async def comma():
        return ","
    
    async def space():
        return " "
    
    async def excl():
        return "!"
    
    async def capitalize(coro):
        return (await coro).capitalize()
    
    async def main():
        print(''.join(await asyncio.gather(*[asyncio.create_task(task) for task in (capitalize(hello()), comma(), space(), capitalize(world()), excl())])))
    
    asyncio.run(main())

    Изучаем asyncio через говнокод

    valo94, 12 Мая 2022

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

    0

    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
    namespace Generics {
    
        function swap<T>(arr: T[], i: number, j: number): void {
            let temp: T = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
    
        function sortHelper<T>(arr: T[], callbackfn?: (value1: T, value2: T) => number): T[] {
            if (arr.length <= 0 || !callbackfn) {
                return arr;
            }
            let len = arr.length;
            // simple selection sort.
            for (let i = 0; i < len - 1; ++i) {
                for (let j = i + 1; j < len; ++j) {
                    if (callbackfn(arr[i], arr[j]) > 0) {
                        swap(arr, i, j);
                    }
                }
            }
            return arr;
        }
    
        export function arraySort<T>(arr: T[], callbackfn?: (value1: T, value2: T) => number): T[] {
            return sortHelper(arr, callbackfn);
        }
    }
    
    function main() {
        print("testGenerics")
        let inArray = [4.0, 3.0, 4593.0, 23.0, 43.0, -1.0]
        Generics.arraySort(inArray, (x: number, y: number) => { return x - y })
        let expectedArray = [-1.0, 3.0, 4.0, 23.0, 43.0, 4593.0]
        for (let i = 0; i < expectedArray.length; i++) {
            assert(inArray[i] == expectedArray[i])
        }
    }

    ну вот и все.. можно считать последний говнокод... подходит миссия к концу.... и ... потом заархивить все и положить на полочку

    ASD_77, 15 Января 2022

    Комментарии (29)
  7. C++ / Говнокод #27691

    0

    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
    // этот код дает Segment Fault
    
    struct TypeNames
    {
        std::string typeName;
    };
    
    class LLVMRTTIHelperVCLinux
    {
        SmallVector<TypeNames> types;
    }
    
    // a этот нет
    
    class LLVMRTTIHelperVCLinux
    {
        SmallVector<std::string> types;
    }

    ну и гавно этот ваш Clang. MSVC работает, GCС работает а Clang нет

    ASD_77, 29 Сентября 2021

    Комментарии (29)
  8. Си / Говнокод #27626

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void receivePtrs(void **);
    
    int main() {
    L:
      receivePtrs((void *[]){ &&L, 0, 0 });
    }

    что делает этот код?

    ASD_77, 29 Августа 2021

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    enum class NodeFlags : int {
        None               = 0,
        Let                = 1 << 0,
    // ...
    }
    
    contextFlags &= ~flag;
    
    // error C2675: unary '~': 'NodeFlags' does not define this operator or a conversion to a type acceptable to the predefined operator

    Кому нужны такие гавно-компиляторы? которые даже не в состоянии привети четко прописанные типы?

    ASD_77, 20 Марта 2021

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

    0

    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
    95. 95
    96. 96
    97. 97
    #include <iostream>
    #include <ctime>
    #include <string>
    #include <random>
    #include <algorithm>
    #include <iomanip> // для ограничения количества вводимых симолов для std::cin
    
    void compUsrWthCmptr(std::string userInput, std::string computerInput)
    {
        std::reverse(userInput.begin(), userInput.end());//  Считаем правильно угаданные позиции
        std::reverse(computerInput.begin(), computerInput.end());
        int guessedPositions{ 0 };
        for (int i = 0; (i < userInput.length()) && (i < computerInput.length()); ++i)
        {
            if (userInput[i] == computerInput[i])
            {
                guessedPositions++;
            }
        }
        std::string::iterator it_userInput;
        std::string::iterator it_computerInput;
        it_userInput = std::unique(userInput.begin(), userInput.end()); // Удаляем повторяющиеся цифры
        userInput.resize(std::distance(userInput.begin(), it_userInput));
        it_computerInput = std::unique(computerInput.begin(), computerInput.end());
        computerInput.resize(std::distance(computerInput.begin(), it_computerInput));
        int guessedDigits{ 0 }; //  Считаем количество правильно угаданных цифр без учета повторяющихся
        for (int i = 0; i < userInput.length(); ++i)
        {
            for (int x = 0; x < computerInput.length(); ++x)
            {
                if (userInput[i] == computerInput[x])
                {
                    guessedDigits++;
                }
            }
        }
        std::cout << "  Угадано: " << guessedDigits << ". Соответствует своим разрядам: " << guessedPositions << std::endl << std::endl;
    };
    void startTheGame()
    {
        int pcsRandomNumber = getRandomNumber(0, 999);      //Загаданое число.
        std::cout << "  Компьютер загадал трехзначное число от 0 до 999!\n" << "  Это: " << pcsRandomNumber << std::endl << std::endl;
        std::string pcNumber{ std::to_string(pcsRandomNumber) };
        bool win = false;
        do
        {
            int usersGuess = getUsersGuess();
            std::string guess{ std::to_string(usersGuess) };
            std::cout << "  Ваш вариант : " << guess << std::endl;
            compUsrWthCmptr(guess, pcNumber);
            if (usersGuess == pcsRandomNumber)
            {
                win = true;
                std::cout << "  *** Вы угадали число " << pcsRandomNumber << "!***\n";
            }
        } while (!win);
    };
    int getUsersGuess()
    {
        while (true) // цикл продолжается до тех пор, пока пользователь не введет корректное значение
        {
            std::cout << "  Введите коректное значение: ";
            int a;
            std::cin >> std::setw(3) >> a;
            if (std::cin.fail()) // если предыдущее извлечение оказалось неудачным,
            {
                std::cin.clear(); // то возвращаем cin в 'обычный' режим работы
                std::cin.ignore(32767, '\n'); // и удаляем значения предыдущего ввода из входного буфера
                std::cout << "  Предыдущее извлечение оказалось неудачным. Попытайтесь еще раз.\n\n";
            }
            else
            {
                if (a >= 1000 || a < 0)
                {
                    std::cin.ignore(32767, '\n'); // удаляем лишние значения
                    std::cout << "  Введенное число вне требуемого диапазонате. Попытайтесь еще раз.\n\n";
                }
                else
                {
                    std::cin.ignore(32767, '\n'); // удаляем лишние значения
                    return a;
                }
            }
        }
    }
    int getRandomNumber(int min, int max)
    {
        return static_cast<int>(rand() % (max - min + 1) + min);
    }
    
    int main()
    {
        setlocale(LC_ALL, "Russian");
        srand(static_cast<unsigned int>(time(0)));
        startTheGame();
        return 0;
    }

    Начинающий говнокодер просит оценить его код. Где/что можно улучшить если возможно. Благодарю
    //Напишите программу реализующую игру «Угадай число».Компьютер загадывает число от 0 до 999 (используйте генерацию случайных чисел),
    //а пользователь угадывает его.На каждом шаге угадывающий делает предположение, а задумавший число — сообщает, сколько цифр из числа угаданы
    //и сколько из угаданных цифр занимают правильные позиции в числе.Например, если задумано число 725 и выдвинуто предположение,
    //что задумано число 523, то угаданы две цифры(5 и 2) и одна из них занимает верную позицию.

    radionnazmiev, 25 Ноября 2020

    Комментарии (29)
  11. Java / Говнокод #27047

    +2

    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
    package java.nio.file;
    
    public final class Files {
        /**
         * Convert a Closeable to a Runnable by converting checked IOException
         * to UncheckedIOException
         */
        private static Runnable asUncheckedRunnable(Closeable c) {
            return () -> {
                try {
                    c.close();
                } catch (IOException e) {
                    throw new UncheckedIOException(e);
                }
            };
        }
    }

    стандартные потрошки джавы это какая-то запредельная протомразь, нарушающая собственные законы физики и запрещающая делать это другим

    Fike, 21 Октября 2020

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