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

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

    +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
    64. 64
    65. 65
    66. 66
    67. 67
    package org.trishinfotech.builder;
    
    public class Car {
    
        private String chassis;
        private String body;
        private String paint;
        private String interior;
        
        public Car() {
            super();
        }
    
        public Car(String chassis, String body, String paint, String interior) {
            this();
            this.chassis = chassis;
            this.body = body;
            this.paint = paint;
            this.interior = interior;
        }
    
        public String getChassis() {
            return chassis;
        }
    
    	public void setChassis(String chassis) {
            this.chassis = chassis;
    
        }
    
        public String getBody() {
            return body;
        }
    
        public void setBody(String body) {
            this.body = body;
        }
    
        public String getPaint() {
            return paint;
        }
    
        public void setPaint(String paint) {
            this.paint = paint;
        }
    		public String getInterior() {
            return interior;
        }
    
        public void setInterior(String interior) {
            this.interior = interior;
        }
    
        public boolean doQualityCheck() {
            return (chassis != null && !chassis.trim().isEmpty()) && (body != null && !body.trim().isEmpty())
                    && (paint != null && !paint.trim().isEmpty()) && (interior != null && !interior.trim().isEmpty());
        }
    
        @Override
        public String toString() {
            // StringBuilder class also uses Builder Design Pattern with implementation of java.lang.Appendable interface
            StringBuilder builder = new StringBuilder();
            builder.append("Car [chassis=").append(chassis).append(", body=").append(body).append(", paint=").append(paint)
            return builder.toString();
        }
    
    }

    https://habr.com/ru/company/otus/blog/552412/
    Паттерн проектирования Builder (Строитель) в Java

    PolinaAksenova, 15 Апреля 2021

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

    +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
    Какой бароп!
    
    https://www.opennet.ru/opennews/art.shtml?num=54816
    
    На Батю нашего рiдного Столлмана нападают боевые пiдарасы из девятого круга ада.
    Надо спасать.
    
    - https://github.com/sticks-stuff/highlight-RMS-supporters 
       юзерскрипт, который подсвечивает всюду имена тех, 
       кто высказался в поддержку Столлмана. 
       Тикеты с требованием удалить данные по GDPR просто закрываются без комментариев.
    
    - https://github.com/travisbrown/octocrabby 
       скрипт, который банит на гитхабе всех, кто подписался в поддержку Столлмана. 
       Заблокированные пользователи не могут форкать, не могут оставлять комментарии, 
       не могут создавать тикеты и т.д. Учитывая, что это поддерживают популярные компахи 
       типа redhat, gnome, mozilla, tor и т.д.
    
    - В интернетах высказываются идеи о том, чтобы не давать нанимать на работу тех, 
      кто подписался в поддержку Столлмана.

    Какой багор!
    Почистите мне куки браузером!
    https://www.opennet.ru/opennews/art.shtml?num=54816

    bot, 31 Марта 2021

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    match group_shapes():
        case [], [point := Point(x, y), *other]:
            print(f"Got {point} in the second group")
            process_coordinates(x, y)

    https://www.python.org/dev/peps/pep-0622/

    DypHuu_niBEHb, 31 Марта 2021

    Комментарии (70)
  5. Куча / Говнокод #27330

    +2

    1. 1
    Как вы относитесь к ЛГБТ?

    В продолжение http://govnokod.ru/8329

    Можно выбрать варианты или использовать свои

    - Мне похуй
    - Мне похуй, пусть только сидят себе тихо, и не пропагандируют это
    - Путин пидор, что запретил однополые браки
    - Путин правильно сделал, что запретил однополые браки
    - Сжечь пидоров
    - Боюсь, что мои дети додумаются сменить ориентацию
    - Я сам пидор, но не говорю об этом открыто
    - Я сам пидор, и этого не скрываю от окружения
    - На работе мне похуй, что мой коллега пидор
    - Уволюсь нахуй, если узнаю, что мой коллега пидор

    OCETuHCKuu_nemyx, 31 Марта 2021

    Комментарии (476)
  6. Ruby / Говнокод #27327

    +2

    1. 1
    page < records.total_pages ? next_page_exist = true : next_page_exist = false

    очевидное должно быть очевидны

    AlexKlim, 29 Марта 2021

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

    +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
    using System.Device.Gpio;
    using System;
    using System.Threading;
    
    namespace Blinky
    {
    	public class Program
        {
            private static GpioController s_GpioController;
            public static void Main()
            {
                s_GpioController = new GpioController();
    
                // ESP32 DevKit: 4 is a valid GPIO pin in, some boards like Xiuxin ESP32 may require GPIO Pin 2 instead.
                GpioPin led = s_GpioController.OpenPin(4,PinMode.Output);
                led.Write(PinValue.Low);
    
                while (true)
                {
                    led.Toggle();
                    Thread.Sleep(125);
                    led.Toggle();
                    Thread.Sleep(125);
                    led.Toggle();
                    Thread.Sleep(125);
                    led.Toggle();
                    Thread.Sleep(525);
                }
            }        
        }
    }

    https://habr.com/ru/post/549012/: «.NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров».

    Ну все, последний оплот сишки пал, можно ее закапывать.

    PolinaAksenova, 25 Марта 2021

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

    +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
    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
    #include <array>
    #include <iostream>
    #include <string_view>
    #include <type_traits>
    
    std::string_view getMaxMargin();
    
    template<int bit_num>
    struct flag {
        friend constexpr int adl_flag(flag<bit_num>);
    };
    
    template<int bit_num>
    struct writer {
        friend constexpr int adl_flag(flag<bit_num>)
        {
            return bit_num;
        }
    
        static constexpr int value = bit_num;
    };
    
    template<int bit_num, int = adl_flag(flag<bit_num>{})>
    constexpr bool is_flag_set(int, flag<bit_num>)
    {
        return bit_num >= 0;
    }
    
    template<int bit_num>
    constexpr bool is_flag_set(float, flag<bit_num>)
    {
        return false;
    }
    
    template<size_t number, size_t bit_num>
    constexpr bool get_bit()
    {
        return (number & (1 << bit_num)) != 0;
    }
    
    #define flags_to_size()                     \
         ((is_flag_set<0>(0, flag<0>{}) << 0)   \
        | (is_flag_set<1>(0, flag<1>{}) << 1)   \
        | (is_flag_set<2>(0, flag<2>{}) << 2)   \
        | (is_flag_set<3>(0, flag<3>{}) << 3))
    
    template<bool test, typename T_true, typename T_false>
    struct meta_if {
        using type = T_true;
    };
    
    template<typename T_true, typename T_false>
    struct meta_if<false, T_true, T_false> {
        using type = T_false;
    };
    
    template<bool test, typename T_true, typename T_false>
    using meta_if_t = typename meta_if<test, T_true, T_false>::type;
    
    template<
        size_t desired_size,
        int = (0 +
               sizeof(meta_if_t<get_bit<desired_size, 0>(), writer<0>, int>) +
               sizeof(meta_if_t<get_bit<desired_size, 1>(), writer<1>, int>) +
               sizeof(meta_if_t<get_bit<desired_size, 2>(), writer<2>, int>) +
               sizeof(meta_if_t<get_bit<desired_size, 3>(), writer<3>, int>)
        )
    >
    constexpr size_t f()
    {
        return desired_size;
    }
    
    int main()
    {
        constexpr size_t a = f<1>();
        constexpr size_t b = f<6>();
        std::cout << "Max margin size: " << getMaxMargin().size() << std::endl;
    }
    
    constexpr size_t MARGIN_SIZE = flags_to_size();
    constexpr char MARGIN_CHAR = 'x';
    
    template<typename T, T... Args>
    constexpr auto getMarginStorageImpl(std::integer_sequence<T, Args...>)
    {
        return std::array<char, sizeof...(Args)>{(static_cast<void>(Args), MARGIN_CHAR)...};
    }
    constexpr auto getMarginStorage()
    {
        return getMarginStorageImpl(std::make_integer_sequence<int, MARGIN_SIZE>());
    }
    constexpr static auto marginStorage = getMarginStorage();;
    
    std::string_view getMaxMargin()
    {
        return std::string_view(marginStorage.data(), MARGIN_SIZE);
    }

    "Интересно, можно ли насфиначить такой шаблон, чтобы в пределах TU сгенерированные литералы были слайсами одного статического массива, длина которого выводилась бы автоматически."

    PolinaAksenova, 25 Марта 2021

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

    +2

    1. 1
    2. 2
    3. 3
    unsigned three = 1;
    unsigned five = 5;
    unsigned seven = 7;

    https://github.com/torvalds/linux/blob/d158fc7f36a25e19791d25a55da5623399a2644f/fs/ext4/resize.c#L698

    MAKAKA, 12 Марта 2021

    Комментарии (210)
  10. 1C / Говнокод #27291

    +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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    // Раздел 1 продолжение, расчет графы 5 и 6.
    	Области.П010000105.Значение = Области.П010000205.Значение
    	                                         + Области.П010000305.Значение
    	                                         + Области.П010000405.Значение
    	                                         + Области.П010000505.Значение
    	                                         + Области.П010000605.Значение
    	                                         + Области.П010000705.Значение
    	                                         + Области.П010000805.Значение
    	                                         + Области.П010000905.Значение
    	                                         + Области.П010001005.Значение
    	                                         + Области.П010001105.Значение;
    	Если Области.П010000105.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000205.Текст
    	                                           + Области.П010000305.Текст
    	                                           + Области.П010000405.Текст
    	                                           + Области.П010000505.Текст
    	                                           + Области.П010000605.Текст
    	                                           + Области.П010000705.Текст
    	                                           + Области.П010000805.Текст
    	                                           + Области.П010000905.Текст
    	                                           + Области.П010001005.Текст
    	                                           + Области.П010001105.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000105.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000105.Формат, ФорматПредставленияНуля);
    	КонецЕсли;
    	
    	Области.П010000106.Значение = Области.П010000206.Значение
    	                                         + Области.П010000306.Значение
    	                                         + Области.П010000406.Значение
    	                                         + Области.П010000506.Значение
    	                                         + Области.П010000606.Значение
    	                                         + Области.П010000706.Значение
    	                                         + Области.П010000806.Значение
    	                                         + Области.П010000906.Значение
    	                                         + Области.П010001006.Значение
    	                                         + Области.П010001106.Значение;
    	Если Области.П010000106.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000206.Текст
    	                                           + Области.П010000306.Текст
    	                                           + Области.П010000406.Текст
    	                                           + Области.П010000506.Текст
    	                                           + Области.П010000606.Текст
    	                                           + Области.П010000706.Текст
    	                                           + Области.П010000806.Текст
    	                                           + Области.П010000906.Текст
    	                                           + Области.П010001006.Текст
    	                                           + Области.П010001106.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000106.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000106.Формат, ФорматПредставленияНуля);
    	КонецЕсли;
    	
    	Области.П010000107.Значение = Области.П010000207.Значение
    	                                         + Области.П010000307.Значение
    	                                         + Области.П010000407.Значение
    	                                         + Области.П010000507.Значение
    	                                         + Области.П010000607.Значение
    	                                         + Области.П010000707.Значение
    	                                         + Области.П010000807.Значение
    	                                         + Области.П010000907.Значение
    	                                         + Области.П010001007.Значение
    	                                         + Области.П010001107.Значение;
    	Если Области.П010000107.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000207.Текст
    	                                           + Области.П010000307.Текст
    	                                           + Области.П010000407.Текст
    	                                           + Области.П010000507.Текст
    	                                           + Области.П010000607.Текст
    	                                           + Области.П010000707.Текст
    	                                           + Области.П010000807.Текст
    	                                           + Области.П010000907.Текст
    	                                           + Области.П010001007.Текст
    	                                           + Области.П010001107.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000107.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000107.Формат, ФорматПредставленияНуля);
    	КонецЕсли;

    zoebis

    TOPT, 11 Марта 2021

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

    +2

    1. 1
    2. 2
    3. 3
    int i = 42;
    foo(i); //не компилируется
    foo(static_cast<int>(i)); //компилируется

    raMagPuJI, 05 Марта 2021

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