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

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    metrics_key::metrics_key(std::initializer_list<std::string> const& il) {
      TRI_ASSERT(il.size() > 0);
      TRI_ASSERT(il.size() < 3);
      name = *il.begin();
      if (il.size() == 2) {
        labels = *(il.begin()+1);
      }
      _hash = std::hash<std::string>{}(name + labels);
    }

    просто гавно

    gnusmas, 18 Марта 2021

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

    −2

    1. 1
    https://journal.tinkoff.ru/holidays-millions/

    Познакомьтесь с человеком, который ушел из ИТ и зарабатывает до 2 млн рублей на праздниках
    https://journal.tinkoff.ru/holidays-millions/

    Необычных заказов были десятки: например, мастер-класс по рисованию нефтью. Для него мы нашли пять литров нефти, хотя это очень сложно. Баррель нефти или больше — пожалуйста, только что вы с ней будете делать потом? Утилизировать ее самостоятельно невозможно. Еще нас просили привезти дрессированного медведя на самолете в Новосибирск, провести мастер-класс по созданию леденцов в виде пениса для девичника и мастер-класс по горловому минету.
    -------

    а вы готовы уйти из IT ради того, чтобы возить медведя в Новосбириск?

    MAKAKA, 14 Февраля 2021

    Комментарии (36)
  4. Pascal / Говнокод #27214

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    procedure ProgramRestart(Sender: TObject);
    begin
       Application.Terminate;
       ShellExecute(0,'open',Application.ExeName,'','',SW_NORMAL); // ))
    end;

    Неделю когда-то пытался понять почему этот код не работает: "Я же программу вырубил? - вырубил... Я же ее запускаю? - запускаю... А че она не запускается?)))..."

    vovka3003, 13 Января 2021

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

    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
    #Я новичок в питоне, учусь буквально 2 недели. Это моя первая программа - типа банкомат, 
    #которую показал для примера учитель в очень упрощенном варианте, а я уже заинтересовался этим и стал улучшать её. 
    
    x=input('Чтобы зарегистрироваться, введите логин.\n' )
    y=input('Придумайте пароль.\n')
    login=x
    password=y
    print('Вы успешно зарегистрировались!')
    print('__________________________________________________________________________________________________________________')
    print('__________________________________________________________________________________________________________________')
    print('Войдите в систему, чтобы получить доступ ко всем функциям.')
    log=(input("Введите логин:\n"))
    pas=(input("Введите пароль:\n"))
    if((log==login)and(pas == password)):
    	balance=0
    	print('__________________________________________________________________________________________________________________')
    	print('__________________________________________________________________________________________________________________')
    	print("Вход выполнен успешно! У вас на счету",balance,"р.")
    	while 1:
    		print('__________________________________________________________________________________________________________________')
    		print('__________________________________________________________________________________________________________________')
    		print("Введите 1, чтобы пополнить счет, 2, чтобы снять, 3, чтобы выйти из аккаунта, и 4, чтобы узнать состояние счета.")
    		s=int(input('(Далее - Enter.)\n'))
    		if(s==1):
    			sum=int(input("На сколько вы хотите пополнить счет? (Далее - Enter.)\n"))
    			balance=balance+sum
    			print("Операция проведена успешно! На Вашем счету",balance,'р.')
    		if(s==2):
    			print("Сколько вы желаете снять со счета?")
    			sum=int(input('(Далее - Enter.)\n'))
    			if (sum>balance):
    				print('__________________________________________________________________________________________________________________')
    				print('__________________________________________________________________________________________________________________')
    				print("На счете недостаточно средств. Попробуйте ввести меньшее значение.")
    			else:
    				balance=balance-sum
    				print("Средства сняты со счета. Остаток:",balance,"р.")
    		if(s==3):
    			print('__________________________________________________________________________________________________________________')
    			print('__________________________________________________________________________________________________________________')
    			print('Вы вышли из аккаунта.') 
    			raise SystemExit
    		if(s==4):
    			print('__________________________________________________________________________________________________________________')
    			print('__________________________________________________________________________________________________________________')
    			print('На вашем счету',balance,'р.')
    if((log!= login)or(pas!= password)):
    	count=4
    	while ((log!=login)or(pas!=password)):
    		count=count-1
    		print("Неправильно введён логин или пароль. Осталось попыток входа:", count)
    		log=(input("Введите логин:\n"))
    		pas=(input("Введите пароль:\n"))	
    		if ((count < 2)and((log!=login)or(pas!=password))):
    			print('Вход заблокирован в связи с ошибкой при входе.')
    			break
    if ((log ==login)and(pas==password)):
    	
    	balance=0
    	print('__________________________________________________________________________________________________________________')
    	print('__________________________________________________________________________________________________________________')
    	print("Вход выполнен успешно! У вас на счету",balance,"р.")
    	while ((balance > -1)):
    		print('__________________________________________________________________________________________________________________')
    		print('__________________________________________________________________________________________________________________')
    		print('Введите 1, чтобы пополнить счет, 2, чтобы снять, 3, чтобы выйти из аккаунта, и 4, для того чтобы узнать состояние счета.')
    		s=int(input('(Далее - Enter.)\n'))
    		if(s==1):
    			sum=int(input("На сколько вы хотите пополнить счет?\n"))
    			balance=balance+sum
    			print("Операция проведена успешно! На Вашем счету",balance,'р.')
    		if(s==2):
    			print("Сколько вы желаете снять со счета?")
    			sum=int(input('(Далее - Enter.)\n'))
    			if (sum>balance):
    				print("На счете недостаточно средств. Попробуйте ввести меньшее значение.")
    			else:
    				balance=balance-sum
    				print("Средства сняты со счета. Остаток:",balance,"р.")
    		if(s==3):
    			print('__________________________________________________________________________________________________________________')
    			print('__________________________________________________________________________________________________________________')
    			print('Вы вышли из аккаунта.')
    			raise SystemExit
    		if(s==4):
    			print('__________________________________________________________________________________________________________________')
    			print('__________________________________________________________________________________________________________________')
    			print('На вашем счету',balance,'р.')

    govnokoder7, 18 Ноября 2020

    Комментарии (36)
  6. PHP / Говнокод #26566

    +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
    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
    function get_page() {
        $routes = Utility::get_routes('', 'admin/*', '[0-9a-z\.\/\-]*');
    
        $entities = [];
        foreach ($routes as $key => $value) {
            $entities[$value['entity_type']][$value['entity']][] = $value;
        }
    
        $map = [
            'core' => Utility::get_string('Ядро'),
            'base' => Utility::get_string('Базовое'),
            'custom' => Utility::get_string('Пользовательское')
        ];
    
        $menu = [];
        if ($entities) {
            $entities = [
                'core' => $entities['core'] ?? [],
                'base' => $entities['base'] ?? [],
                'custom' => $entities['custom'] ?? []
            ];
    
            foreach ($entities as $key => $value) {
                $count = 0;
                foreach ($value as $key2 => $value2) {
                    $index = $map[$key];
                    $entity = str_replace('_', ' ', $key2);
                    $entity_upper = ucfirst($key2);
                    $title = $route = '';
    
                    $on = false;
                    $items = [];
                    foreach ($value2 as $key3 => $value3) {
                        if ((!isset($value3['menu']) || $value3['menu']) && (!isset($value3['type']) || $value3['type'] == 'replace') && (!isset($value3['access']) || (new User)->get_access($value3['access']))) {
                            $first = count(explode('/', $value3['route'])) <= 2;
    
                            if (!$title && $first) {
                                $title = $value3['title'] ?? $entity_upper;
                                $route = $value3['route'];
                            }
    
                            $items[$value3['route']] = $value3['title'] ?? $entity_upper;
    
                            $on = true;
                        }
                    }
    
                    if ($on) {
                        $menu[$index][$key2] = [
                            'title' => $title ?: $entity_upper,
                            'title_link' => $route ?: 'admin/'.$entity,
                            'items' => $items,
                            'tr' => $count && $count % 3 === 0 ? '</tr><tr>' : '',
                        ];
    
                        $count++;
                    }
                }
            }
        }
    
        return $menu;
    }

    eqsash-2.0.zip/eqsash-2.0/core/admin/admin.php
    >>> Eqsash
    >>> Премиум технологии

    gost, 09 Апреля 2020

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

    +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
    public static XmlNode FindNodeRecursive(XmlNode document, string nodeName)
    {
        if (document.Name == nodeName)
            return document;
    
        foreach (XmlNode node in document.ChildNodes)
        {
            if (node.Name == nodeName)
                return node;
    
            XmlNode resNode = FindNodeRecursive(node, nodeName);
            if (resNode != null && resNode.Name == nodeName)
                return resNode;
        }
    
        return (XmlNode)null;
    }
    <...>
     XmlDocument document = new XmlDocument();
     document.LoadXml(request);
    
    var PurchaseIdNode = XmlProcessing.FindNodeRecursive(document, "PurchaseId");

    Разработчик с 15-летним стажем
    XPath'у не доверяет

    Barch, 12 Декабря 2019

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

    −2

    1. 1
    Что хуже - "Windows Vista" или "Windows 8"?

    SteadfastTinCock, 13 Июля 2019

    Комментарии (36)
  9. Куча / Говнокод #25540

    +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
    # это комментарий #
    COMMENT это понятно что COMMENT
    CO это тоже ко-ко-коментарий CO
    
    CO функция принимает 3 параметра типа INT и возвращает ссылку на массив CO
    PROC range = (INT start, end, step)REF[]INT : (
        INT length = ABS((end - start) % step);
        NEW [0 : length - 1]INT result; CO массив в куче CO
        CO LWB —– нижний индекс массива, UPB —– верхний CO
        FOR i FROM LWB result TO UPB result
        DO
            result[i] := start + i * step
        OD;
        result CO функции возвращают результат последнего вычесленного выражения CO
    );
    
    CO можно определять свои операторы CO
    OP RANGE = (INT start, end)REF[]INT: range(start, end, (start < end | 1 | -1));
    PRIO RANGE = 5; CO для бинарных операторов нужно задать приоритет, у сложения/вычитания приоритет = 6 CO
    
    CO для операторов возможна перегрузка по количеству и типу аргументов CO
    OP RANGE = (INT end)REF[]INT: 0 RANGE end;
    
    OP ACCUM = ([]INT x, PROC(INT,INT)INT f)INT : (
        INT length = UPB x - LWB x;
        IF length = 0 THEN
            1
        ELIF length = 1 THEN
            x[LWB x]
        ELSE
            INT result;
            result := x[LWB x];
            FOR i FROM LWB x + 1 TO UPB x
            DO
                result := f(result, x[i])
            OD;
            result
        FI
    );
    PRIO ACCUM = 5;
    
    CO правый операнд у ACCUM —– лямбда CO
    OP ! = (INT x)INT: 1 RANGE x + 1 ACCUM ((INT x, y)INT: x * y);
    
    printf(($g(0), "! = ", g(0), l$, 7, !7));
    
    OP MAP = ([]INT x, PROC(INT)INT f)REF[]INT : (
        NEW [LWB x : UPB x]INT result;
        FOR i FROM LWB x TO UPB x
        DO
            result[i] := f(x[i])
        OD;
        result
    );
    PRIO MAP = 5;
    
    PROC pow = (INT x, n)INT: x ^ n;
    
    CO каррирование CO
    printf(($g(0), " "$, RANGE 10 MAP pow(2, )));
    print(new line);
    
    OP FOREACH = (REF[]INT x, PROC(REF INT)VOID f)VOID : (
        FOR i FROM LWB x TO UPB x
        DO
            f(x[i])
        OD
    );
    PRIO FOREACH = 5;
    
    REF[]INT a = -5 RANGE 6;
    a FOREACH ((REF INT x)VOID:
        x := x ^ 2
    );
    
    printf(($g(0), " "$, a))

    https://tio.run/##jVVdbxJBFH3nV1xbTXZ1iaBpNVQfkFIlKV2C1T40mJBIkYRgUzFdEx@wtRpTPx70hyCWlkLBvzDzF/wj9dw7s0uBmgiF7syce@fOuecM5Xr1ZX3xbvX8fJ70F72nRqT6aqTO8O6qISbauqV66pTmYxk/n8@urUe438AN9TcMhhjqjzJrQQCHOP5Sx6oriePR18wGGT8mUe/1PhL29QfV09@wiywP8TlTbdXVe3Sbt@aoNufQe/zEu/R4mnKoUPVIdbDFierwov5kI/U7vA/VANn3CTnbxEl5FsEdrqBQ9DO0U25UK3SfHM71qlneaXpUaTz38FzZdovZlc0Sr6TIiRFe/FyvNKrNF4hJP3jsOABT3ES6dM2ELQl2LbtBmwmE2oA4JSXXTuXV63pzCSVMlsR/KFZ/BH8oj1MAsrrxgP60fvxpfSdh5li@T0mIOgKvff1uIo9qe/SkMA7qgI6WPrBhNvGKX6QarRT9vGxgSqJ1XyLNSHDLBs4vM7tZK1Hqvjkv3UCO63JkQfnL5uA221SDL2mU/sqNauEQJ8AN9GeRyJ7IDYcZYOEI4V31izXY0YfMjV0YshLHC6yQY5lmJeGUaELMMDwSzoAbicC6wtqAxaw/QyZSVE9WmSkuALu39CFn8QtUTK89zM4qJNJGymjIuSgeM6B7PKK3lMQnnnRRUqGY86OMC0YDR1wMqZ/SUdb6EOc5mCkIYwhkCKLscU5w5CNexTGsdRjWAxwG8Ai6F65GY2JuWhIZ07ZczYaitMXQomF1lxZj2hky3CaLQb/A3z6W@mbSXjQDbCANRI4Ou7JnrczPfPBfCAqvipEx6XQDJplP2EXMot3ApjOZJ3nGGtsGHrHLOdLDx@W5LfefhmbxB/ApWyIwWs6tjJcTtP4ouxYZIilP2dWLkOQkJNiUVCWLfJyNVi5cBFMOY3uFceO1KcMG8F4y9GsQoS7YdTLhlmOePaSuldwIFVp2jDbXQy4WijVkdMH66bdYDTLiOyhSBd9FLDiDDq8eKAf9/Mkqtb28EvYxcKWBSdtAcx4T7Ti2dW8MJsAd84btvL1TazS3HOdq1Um4Hs1xsjmPzKh@1aM7Hl25wzbjrfLpwqVCsCKYudrlujbcpgytpekmzTRhogH/uiu3nDHnk1dkRLKplSmWH6Xtl7sRTx41QhqeUcM2oc92EcOKE42Xzc/GNEk0B2IMycmEbITszi2PXCZK0E6jskv1WqNimcMxs@nMIy4hYikkEBOsXfepn1sGi/IvZPC/6ZlkJGJhvC8zEW1dxkR8wZ5hcSlWjoBOWA7kxJWkJGMgDgJbt2KXqUYIKbvu@flf
    Давайте течь от "Algol-68".

    BOKCEJIbHblu_nemyx, 13 Апреля 2019

    Комментарии (36)
  10. Python / Говнокод #25489

    0

    1. 1
    {% for item in object.items %}

    Внезапно выяснилось, что ебаная жинжа пытается не делает object['items'], а сначала ищет метод items().

    syoma, 31 Марта 2019

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

    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
    [code]
      protected AbstractPopup init(Project project,
                         @NotNull JComponent component,
                         @Nullable JComponent preferredFocusedComponent,
                         boolean requestFocus,
                         boolean focusable,
                         boolean movable,
                         String dimensionServiceKey,
                         boolean resizable,
                         @Nullable String caption,
                         @Nullable Computable<Boolean> callback,
                         boolean cancelOnClickOutside,
                         @Nullable Set<JBPopupListener> listeners,
                         boolean useDimServiceForXYLocation,
                         ActiveComponent commandButton,
                         @Nullable IconButton cancelButton,
                         @Nullable MouseChecker cancelOnMouseOutCallback,
                         boolean cancelOnWindow,
                         @Nullable ActiveIcon titleIcon,
                         boolean cancelKeyEnabled,
                         boolean locateByContent,
                         boolean placeWithinScreenBounds,
                         @Nullable Dimension minSize,
                         float alpha,
                         @Nullable MaskProvider maskProvider,
                         boolean inStack,
                         boolean modalContext,
                         @Nullable Component[] focusOwners,
                         @Nullable String adText,
                         int adTextAlignment,
                         boolean headerAlwaysFocusable,
                         @NotNull List<? extends Pair<ActionListener, KeyStroke>> keyboardActions,
                         Component settingsButtons,
                         @Nullable final Processor<? super JBPopup> pinCallback,
                         boolean mayBeParent,
                         boolean showShadow,
                         boolean showBorder,
                         Color borderColor,
                         boolean cancelOnWindowDeactivation,
                         @Nullable BooleanFunction<KeyEvent> keyEventHandler) {
    [/code]
    // https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java

    HEymHblu_nemyx, 06 Марта 2019

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