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

    В номинации:
    За время:
  2. Куча / Говнокод #26978

    −1

    1. 1
    https://foren.germany.ru/elecronics/f/20343575.html

    Математики из раш-ки изобрели бесконечные ноутбуки:

    «Если магазин предоставляет опцию возврата, если товар не понравился, то почему мне должно быть стыдно?
    Наоборот приятно - попользовался 3мя разными ноутами в течение месяца, не заплатив ни цента. Если бы им не нравилось это - они такую опцию не ввели бы, т.к. закон не обязывает.
    Я гляжу, на форуме тут мало кто знает о бесплатном 14-дневном прокате техники в Сатурне. :)»

    oaoaoammm, 25 Сентября 2020

    Комментарии (5)
  3. Java / Говнокод #26968

    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
    /**
         * Compares {@link Comparable} objects in natural order.
         *
         * @see Comparable
         */
        enum NaturalOrderComparator implements Comparator<Comparable<Object>> {
            INSTANCE;
    
            @Override
            public int compare(Comparable<Object> c1, Comparable<Object> c2) {
                return c1.compareTo(c2);
            }
    
            @Override
            public Comparator<Comparable<Object>> reversed() {
                return Comparator.reverseOrder();
            }
        }

    У нас будет компаратор, который сравнивает дженерики, но не совсем дженерики, потому что Object, а еще мы сделаем его enum, потому что можем

    https://github.com/openjdk/jdk/blob/jdk-14-ga/src/java.base/share/classes/java/util/Comparators.java#L47-L59

    Fike, 22 Сентября 2020

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

    0

    1. 1
    <img alt="[object Object]" title="[object Object]" loading="lazy">

    https://beru.ru/catalog/avtotovary/76688?hid=90402 , когда смог в жс на бэкэнде

    phpBidlokoder2, 21 Сентября 2020

    Комментарии (5)
  5. SQL / Говнокод #26936

    0

    1. 1
    https://ibb.co/rpFfBMM

    Просто код не поместится(

    silverreve23, 09 Сентября 2020

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

    −1

    1. 1
    2. 2
    3. 3
    В чём смысл "Protocol Buffers" ("Protobuf")? Чем он лучше удобочитаемого "JSON", для которого
    не нужны никакие файлы с описаниями формата? Если речь идёт о сжатии данных - в наше время
    быстрого Интернета об этом смешно говорить.

    urinoterapevt, 09 Сентября 2020

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

    +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
    99. 99
    //Начало новый код
    |select 
    |	НомерСтроки,
    |	Номенклатура,
    |	ЕдиницаИзмерения,
    |	Партия,
    |	КоличествоВозврата как Количество
    |поместить ДанныеДок
    |from Документ.РеализацияКассаВозврат.Номенклатура
    |where (ссылка=&ТекДок)
    //Конец новый код
    |;
    |
    |select 
    |	Номенклатура,
    |	ЕдиницаИзмерения,
    |	Партия,
    //Основание изменения:
    //Ускорение процесса:
    //Начало старый код
    //|	Количество как Количество,
    //|	СтоимостьРуб как СтоимостьРуб,
    //|	СуммаНДСРуб как СуммаНДСРуб,
    //|	СтоимостьУпр как СтоимостьУпр
    //|поместить ДанныеСклад
    //|from РегистрНакопления.ПартииТоваровНаСкладах
    //|where 
    //	(Период <= &Дата) и (Организация=&Организация и Подразделение=&Подразделение) 
    //Конец старый код
    
    //Начало новый код
    |	СУММА(КоличествоПриход) как Количество,
    |	СУММА(СтоимостьРубПриход) как СтоимостьРуб,
    |	СУММА(СуммаНДСРубПриход) как СуммаНДСРуб,
    //	Тригубович Л. 2016.06.29
    //Основание изменения:
    //Задача № 4036: Корректировка баз в связи с деноминацией
    //Начало новый код
    |	СУММА(СтоимостьBYNПриход) как СтоимостьBYN,
    |	СУММА(СуммаНДСBYNПриход) как СуммаНДСBYN,
    //Конец новый код
    |	СУММА(СтоимостьУпрПриход) как СтоимостьУпр
    |поместить ДанныеСклад
    //Основание изменения:
    //Договор комиссии:
    //Начало старый код
    //|from РегистрНакопления.ПартииТоваровНаСкладах.Обороты(,&Дата, Регистратор, Организация=&Организация и Подразделение=&Подразделение)
    //Конец старый код
    
    //Начало новый код
    |from РегистрНакопления.ПартииТоваровНаСкладах.Обороты("+?(Подразделение.Инглот И Дата >= '20140701', "ДатаВремя(2014,07,01)", "")+",&Дата, Регистратор, Организация=&Организация и Подразделение=&Подразделение)
    //Конец новый код
    |where 
    //Конец новый код
    |	(Номенклатура в (select Номенклатура from ДанныеДок)) 
    
    //Основание изменения:
    //Письмо Александровской Ольги от 01.02.2013 (п.2)
    //Начало новый код
    |	и (Партия в (select Партия from ДанныеДок)) 
    //Конец новый код
    |	и (Регистратор ссылка Документ.ПоступлениеТМЦ или Регистратор ссылка Документ.ПоступлениеТМЦИмпорт ИЛИ Регистратор ссылка Документ.ПеремещениеТМЦ ИЛИ Регистратор ссылка Документ.Пересорт ИЛИ Регистратор ссылка Документ.КомплектацияНаборов ИЛИ Регистратор ссылка Документ.РазукомплектацияНаборов ИЛИ Регистратор ссылка Документ.СкидкиПоСрокамГодности)
    |group by Номенклатура,ЕдиницаИзмерения,Партия
    |;
    |
    //Основание изменения:
    //Учтем данные по продажам
    //Начало новый код
    |select 
    |	Номенклатура,
    |	ЕдиницаИзмерения,
    |	Партия,
    |	СУММА(-КоличествоОборот) как Количество,
    |	СУММА(-СтоимостьРубОборот) как СтоимостьРуб,
    |	СУММА(-СуммаНДСРубОборот) как СуммаНДСРуб,
    //Основание изменения:
    //Задача № 4036: Корректировка баз в связи с деноминацией
    //Начало новый код
    |	СУММА(-СтоимостьBYNОборот) как СтоимостьBYN,
    |	СУММА(-СуммаНДСBYNОборот) как СуммаНДСBYN,
    //Конец новый код
    |	СУММА(-СтоимостьУпрОборот) как СтоимостьУпр
    |поместить ДанныеПродаж
    |from РегистрНакопления._ИмяРегистра_.Обороты("+?(ДатаРеализации = '00010101', "", "&ДатаНач")+",&ДатаКон, Регистратор, Организация=&Организация и _УсловиеПодразделение_)
    |where 
    |	Номенклатура в (select Номенклатура from ДанныеДок)
    |	и Партия в (select Партия from ДанныеДок)
    |	и (Регистратор ссылка Документ.РеализацияКасса ИЛИ Регистратор ссылка Документ.РеализацияКассаВозврат)
    |group by Номенклатура,ЕдиницаИзмерения,Партия
    |;
    |
    //Конец новый код
    |// сводные данные
    |select
    //Основание изменения:
    //Управленческий учет:
    //Начало новый код
    |	док.НомерСтроки КАК НомерСтрокиДокумента,
    //Конец новый код

    такое мог изобразить только ональный говноклоун
    сразу, на двух языках, блеать, вот бы еще украинского туда. Осмысленность и нужность комментариев феноменальна.
    анус мой от вида таких поделок полыхает.

    valchara, 30 Апреля 2020

    Комментарии (5)
  8. JavaScript / Говнокод #26605

    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
    $('#spheres__street-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__street-content').addClass('active');
                    });
    
                    $('#spheres__sport-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__sport-content').addClass('active');
                    });
    
                    $('#spheres__prom-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__prom-content').addClass('active');
                    });

    Когда не можешь загуглить, как делаются табы

    phpBidlokoder2, 27 Апреля 2020

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

    0

    1. 1
    2. 2
    3. 3
    a=1
    b=2
    a+b

    Я сделаль

    Vanilla, 07 Апреля 2020

    Комментарии (5)
  10. JavaScript / Говнокод #26477

    +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
    function isEven(a) {
      a = a. toString(). replace(/[^0-9.]/g, "");
      var stack = [];
      var rev = a. split(''). reverse();
      for (var ix = 0; ix < rev. length; ix++) {
        if (rev[ix] == ".") stack. push("dot")
        else if (rev[ix] == "1" || rev[ix] == "3" || rev[ix] =="5" || rev[ix] == "7" || rev[ix] == "9")
          stack. push ("odd")
        else
          stack. push('even')
      }
      var wholenumber = stack. splice(stack. indexof("dot") + 1)
      return wholenumber[0] == "even";
    }

    Определение чётности числа.

    IIIuMnAH3E, 08 Марта 2020

    Комментарии (5)
  11. bash / Говнокод #26476

    +1

    1. 1
    grep '^-'  /mnt/etc/roskomhui.txt | cut -d' ' -f2  |  sed 's|^\([^/]*\)$|\1/32|'  | xargs -n1 ipcalc | awk -e '{if ($1=="Address:") ADDR=$2; if ($1=="Netmask:") print "route add " ADDR" mask "$2" 172.16.1.2" }'

    На старом роутере у меня бы opkg и openvpn с сервачком за пределами России.
    Список префиксов, на которые я хотел ходить через него, хранился в файле roskomhui.txt и имел формат

    # petuh
    -net 1.2.3.0/24
    -host 1.2.3.4

    # foo


    Файлик этот обрабатывался скриптом при подключении OpenVPN, который делал примерно следующее:
    grep '^-' /opt/etc/roskomhui.txt  | xargs -n2 -icmd echo route add cmd gw $REMOTE_VPN_ADDR | sh


    На новом роутере оказался встроенный OpenVPN, и смысл в opkg отпал. Но как завернуть нужный траффик в впн без шела? (я вкурсе про push, но мне важно было это сделать именно локально).

    Оказалось, что роутер умеет загружать маршруты из файла прямо через веб-морду, но формат там должен быть как у виндового батника
    route add 1.2.3.4 255.255.255.255 %ADDR%


    Для решения её и был написал скрипт (сам файлик хранился на флешке, потому он в mnt)
    Хосты с помощью седа (в исходнике они без масок) превратились в /32, чтобы их понял ipcalc.
    После ipcalc превратил маски в формате /bits в четырехбайтовые маски, и наконец awk -- единственный стейтфул товарищ в этом конвеере -- связал адрес с маской из выхлопа ipcalc.

    А как поступили бы вы?

    MAKAKA, 07 Марта 2020

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