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

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

    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
    function ToggleClients(id, translit)
    {
        long_clients = document.getElementById(id);
        elemID = translit + '_short_clients';
        button = document.getElementById(elemID);
        long_clients.style.display = "";
        button.style.display = "none";
    
        return false;
    }
    
    function ToggleClients2(id, translit)
    {
        long_clients = document.getElementById(id);
        elemID2 = translit + '_long_clients';
        button = document.getElementById(elemID2);
        long_clients.style.display = "";
        button.style.display = "none";
        
        return false;
    }

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

    denqo, 09 Июня 2021

    Комментарии (4)
  3. JavaScript / Говнокод #27428

    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
    enum En {
            A,
            B,
            C,
            D = 4200,
            E,
        }
    
        enum En2 {
            D0 = En.D,
            D1,
            D2 = 1,
        }
    
    function main()
    {
    	const a = En.A;
    	print (a, En.B, En.C, En.D);
    	print (En2.D0, En2.D1, En2.D2);
    }

    output: >>
    0 1 2 4200
    4200 1 1

    Ну что.. учись "С" как enum-ы делать надо....

    ASD_77, 14 Мая 2021

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

    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
    // Приведение численного типа к структуре с битовыми полями
    template <class STRUCT_T, typename T>
    STRUCT_T struct_cast(const T n)
    {
        static_assert(std::is_integral<T>::value, "Integral type required as T");
        static_assert(std::is_class<STRUCT_T>::value, "class or struct type required as STRUCT_T");
        static_assert(sizeof(T) == sizeof(STRUCT_T), "Incompatible types passed");
    
        return *(reinterpret_cast<const STRUCT_T*>(&n));
    }
    
    // Приведение структур с битовыми полями к численному типу
    template <typename T, class STRUCT_T>
    T integral_cast(const STRUCT_T& s)
    {
        static_assert(std::is_integral<T>::value, "Integral type required as T");
        static_assert(std::is_class<STRUCT_T>::value, "class or struct type required as STRUCT_T");
        static_assert(sizeof(T) == sizeof(STRUCT_T), "Incompatible types passed");
    
        return *(reinterpret_cast<const T*>(&s));
    }

    Почему это UB?

    YpaHeLI_, 12 Мая 2021

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

    +1

    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
    98. 98
    99. 99
    //Генерация уровня из файла
        void mapGenerate()
        {
            
            float x = 0.72f, y = -0.72f; //Координаты игрового объекта
            byte i = 0, j = 0; //Цифровые координаты игрвоого объекта
    
            while (y >= -5.76f)
            {
                while (x <= 5.76f)
                {
                    
                        
                    if (map[i, j] % 8 == 1) //Если игровой объект - точка спавна игрока
                    {
                        player.transform.position = new Vector3(x, y, 0);
                        playerX = j;
                        playerY = i;
                    }
                    else if (map[i, j] % 8 == 5) //Если игровой объект - точка спавна врага
                    {
                        enemy.transform.position = new Vector3(x, y, 0);
                        enemyX = j;
                        enemyY = i;
                        //print("Enemy: " + enemyX + " " + enemyY);
                    } else if(map[i, j] % 8 == 6) //Если игровой объект - собираемый предмет
                    {
                        EventManager.Instance.colls[0]++; //Увеличивается количество собираемых монет на уровне
                        mapObj[i, j] = Instantiate(entities[map[i, j] % 8], new Vector3(x, y, 0), Quaternion.identity);
                    }
    
                    else if (map[i,j] % 8 != 0) { //Для остальных игровых объектов
                        mapObj[i,j] = Instantiate(entities[map[i, j] % 8], new Vector3(x, y, 0), Quaternion.identity);
                    }
                    x += 0.72f;
                    j++;
                }
                y -= 0.72f;
                x = 0.72f;
                j = 0;
                i++;
            }
        } 
    
        //Считывание данных об уровне
        void readLevelFile()
        {
            string path = "";
            FileStream fs = null;
            BinaryReader br = null;
            
            if (Application.platform == RuntimePlatform.WindowsEditor)
            {
                path = Application.dataPath;
                path = Path.Combine(path, "Levels");
                path = Path.Combine(path, levelFile);
                fs = new FileStream(path, FileMode.Open);
                br = new BinaryReader(fs);
                head = br.ReadBytes(8); //Чтение заголовка файла
                for (int i = 0; i < 8; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
                        map[i, j] = br.ReadByte(); //Чтение кода игрового объекта
                    }
                }
    
    
    
                br.Close();
                fs.Close();
            } else if (Application.platform == RuntimePlatform.Android)
            {
                
                byte[] file = null;
                
                    path = "jar:file://"+ Application.dataPath + "!/assets/Levels/"+levelFile;
                    www = new WWW(path);
                while (!www.isDone) { }
                    if (!string.IsNullOrEmpty(www.error))
                    {
                        Debug.LogError("Can't read");
                    }
                    file = www.bytes;
    
                    for (int i = 0; i < 8; i++)
                    {
                        head[i] = file[i];
                    }
                    for (int i = 0; i < 8; i++)
                    {
                        for (int j = 0; j < 8; j++)
                        {
                            map[i, j] = file[j + i * 8 + 8]; //Чтение кода игрового объекта
                        }
                    }
    
                www.Dispose();
            }

    Из кода собственной аркады на Unity 2017-ого года. Неоправданные байто*бские оптимизации, взаимодействие между модулями через десяток глобалов, магические константы не зафиксированные в именах кода, куча хардкода. И ето из модуля для генерации уровня. В модуле для управления событиями код страшнее.

    JaneBurt, 24 Апреля 2021

    Комментарии (4)
  6. Java / Говнокод #27258

    +1

    1. 1
    .

    https://vc.ru/flood/149783-podgotovte-nomer-pablik-steytik-dzhava-tochka-pomoshchnik-oleg-zachital-sboy-vo-vremya-testa-v-koll-centre-tinkoff

    3_dar, 17 Февраля 2021

    Комментарии (4)
  7. Куча / Говнокод #27223

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Как известно, язык C# придумал Андерс Хейлсберг. В связи с этим, на первых порах его жутко атаковали журналисты, в попытке снять интервью.
    Делали они это столь навячиво, что обычно вежливый и корректный Хейлсберг стал грубым и несдержанным. Он избегал журналистов, но они не отставали.
    
    Однажды его подстерегли в метро - он едва смог вырваться из назойливой толпы,  -  затем его почти сразу прижали в переулке. 
    -Господин Хейлсберг, пару слов для издания КомпНьюс...
    -Пошли на хуй, - прошептал Андерс, ускорив шаг. В ту же минуту его затерла толпа и на него упал яркий свет. 
    -Прямой эфир!
    Андерс замялся. Уйти из кадра было бы несложно, но это могло сказаться на репутации. Кинооператор уже наставил камеру. 
    Из толпы вышел наиболее задиристый человек с микрофоном.
    -Скажите, господин Хейлсберг, почему Вы добавили в это говно столько сахара? Почему не сделали его ванильным - как Делфи?
    -Потому, что глупо добавлять ванилин в говно, которое будут пробовать на вкус, огрызнулся Хейлсберг, и, тяжко размахнувшись, ударил по объективу дипломатом.

    guest3, 24 Января 2021

    Комментарии (4)
  8. Python / Говнокод #27070

    −1

    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
    def loadDevices(list_devices, db_name, db_user, db_host, db_password):
        """Загрузка устройств из базы данных"""
        psql = ClassPSQL(db_name, db_user, db_host, db_password, db_port)
    
        for group in psql.get("SELECT * FROM user_groups"):
            group_id, _, _, available_devices = group
    
            if (group_id != 0) and (available_devices != None):
                for device in parceDeviceStr(available_devices):
                    if (findDevice(list_devices, int(device)) == None):
                        local_res= psql.get("SELECT * FROM device WHERE logic_id=" + str(device))
    
                        if len(local_res):
                            dev_id, _, port = local_res[0]
                            list_devices.append(ClassDevice(int(device), str(dev_id), int(port)))
                            findDevice(list_devices, int(device)).addGroupID(int(group_id))
                    else:
                        findDevice(list_devices, int(device)).addGroupID(int(group_id))
    
        for device in psql.get("SELECT * FROM sm_devs"):
            dev_id, logic_id, port = device
    
            if (findDevice(list_devices, int(logic_id)) == None):
                list_devices.append(ClassDevice(int(logic_id), str(dev_id), int(port)))
    
        list_devices = sorted(list_devices, key=lambda device: device.getLogicID())
    
        return list_devices
    
    ------------------------------------------
    class ClassGroupDevices(object):
     ... много методов  ...
    
        def save(self):
            """Сохранение группы устройств в postgres"""
            str_logic_ids = ""
    
            for logic_id in self.getLogicIDs():
                if (len(str_logic_ids) > 0):
                    str_logic_ids += "," + str(logic_id)
    
                else:
                    str_logic_ids = str(logic_id)
    
            if (self._psql.get("SELECT subgroup_id FROM us_dev_sgr WHERE (group_id='%s' and name='%s')" % (str(self.getGroupID()), self.getName()))):
                self._psql.set("UPDATE us_dev_sgr SET logic_ids='%s' WHERE (group_id='%s' and name='%s')"\
                    % (str_logic_ids, str(self.getGroupID()), self.getName()))
            else:
                self._psql.set("INSERT INTO us_dev_sgr (group_id, name, logic_ids) VALUES ('%s', '%s', '%s')"\
                    % (str(self.getGroupID()), self.getName(), str_logic_ids))
    
    ------------------------------------------
    class ClassSchedule(object):
     ... много методов  ...
    
     def save(self, psql, list_devices:list, conf, timezone:int, schedule_id:int = 0):
            assert(isinstance(psql, ClassPSQL))
            assert(isinstance(list_devices, list))
            # assert(isinstance(conf, INIConfigLoader))
            assert(isinstance(timezone, int))
            assert(isinstance(schedule_id, int))
    
            for date in self._list_date:
                for logic_id in self._list_devices:
                    local_device = findDevice(list_devices, logic_id)
                    local_port, local_value = local_device.liquidity(self._action, conf, psql)
                    date_time = datetime.datetime.strptime(date + " " + self._time, "%d.%m.%Y %H:%M") - datetime.timedelta(hours = timezone)
                    psql.set("INSERT INTO device_exec_schedule (logicid, time, subgroup, port, value, group_id, answer) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s')" %
                                    (str(logic_id), date_time, schedule_id, str(local_port), str(local_value), str(self._groups_id), "0"))

    Была дана задача сишнику не знавшему Python написать сайт на Django за 4 дня. Знаете что? Он написал. (Названия таблиц в коде изменены, но смысл сохранён). Поддерживать код дали мне. А этот код из недр

    viktorokh96, 29 Октября 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    Если Число(Сред(Строка(НачПериода),4,2)) <> Число(Сред(Строка(КонПериода),4,2)) Тогда
    	Предупреждение("Нельзя брать период с разными месяцами!!!");
    	Возврат;
    КонецЕсли;

    Мне так не дано писать код :-)

    Asinto, 17 Октября 2020

    Комментарии (4)
  10. Куча / Говнокод #26909

    0

    1. 1
    2. 2
    3. 3
    4. 4
    q)\l sp.q
    +`p`city!(`p$`p1`p2`p3`p4`p5`p6`p1`p2;`london`london`london`london`london`lon..
    (`s#+(,`color)!,`s#`blue`green`red)!+(,`qty)!,900 1000 1200
    +`s`p`qty!(`s$`s1`s1`s1`s2`s3`s4;`p$`p1`p4`p6`p2`p2`p4;300 200 100 400 200 300)

    https://code.kx.com/q/learn/tour/

    MAKAKA, 03 Сентября 2020

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

    +1

    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
    The authenticity of host 'ololo.fike.nemyx (<ip address>)' can't be established.
    fingerprint is SHA256:ololo.
    
    Are you sure you want to continue connecting
    ? (Y/N) Y
    I have no idea what to do with 'Y'
    Just say Y or N, please.
    The authenticity of host 'ololo.fike.nemyx (<ip address>)' can't be established.
    fingerprint is SHA256:ololo.
    
    Are you sure you want to continue connecting
    ? (Y/N) y
    Connecting to ololo.fike.nemyx

    Chef

    Fike, 29 Августа 2020

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