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

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    SystemD нарушает философию UNIX.
    
    Вместо больших программ которые решают несколько задач одновременно, делайте много маленьких программ, которые решают одну задачу, но делают это хорошо.
    
    Не то, чтобы он плохо справлялся со своими задачами, но он управляет и сервисами, и udev'ом, через него уже и смотрят лог ядра, через него настраивают автозагрузку.
    Много задач через одну программу.  
    
    Именно поэтому я против SystemD. 
    
    дискасс.

    OlegUP, 25 Января 2020

    Комментарии (7)
  3. Python / Говнокод #26379

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    # Python2
    
    import sys
    print sys.stderr, "Pol chasa ne mog ponyat kakoko huya nichego ne vivoditsya"

    3_dar, 23 Января 2020

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

    +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
    У людей картина мира в значительной степени определяется системой языка, на котором они говорят. 
    Грамматические и семантические категории языка являются не только инструментами для передачи мыслей говорящего, но и управляют мыслительной деятельностью формируя идеи человека.
    Таким образом, предполагается, что люди, которые говорят на разных языках, будут иметь и разные представления о мире, а в случае значительных структурных расхождений между их языками при обсуждении некоторых тем у собеседников могут возникать трудности с пониманием.
    
    Хайнлайн писал: "Нормальные языки родились во времена невежества и предрассудков, и генетически содержат закрепленные в структурах неверные представления о мироздании" 
    А фантастичесикй язык, созданный Хайнлайном "не содержит тех ошибок, которым изобилует английский, ибо он структурирован так же, как реальный мир".
    
    Спидток был языком, полностью основанным на логике. Количество слов в нём было минимальным, зато грамматические связи были очень сложными.
    В спидтоке существовало несколько сотен звуков, при этом каждое двухбуквенное сочетание означало определенное слово. 
    В итоге, одно слово на спидтоке соответствовало длинному предложению обычного языка, настолько ёмок и точен был его смысл. Люди, научившиеся этому языку, считали себя следующей ступенью эволюции человека - homo novus.
    Они хотели захватить власть над Землей и рассматривали, а современных людей вида homo sapiens считали чем-то наподобие домашних животных.
    Поскольку идея языка описана, но не развита в работе Хайнлайна, многие попытались создать подобный язык. 
    Многие из идей спидтока были включены в ифкуиль.
    
    Ифкуиль признаётся одним из самых сложных языков. 
    
    Сам автор языка признаётся, что говорить на нём – за пределами даже его возможностей. 
    Цель Ифкуиля - объединение всех знаний, которые накопило человечество, для того, чтобы достигнуть максимальной выразительности и эффективности использования.

    https://old.computerra.ru/205383/

    3.14159265, 22 Января 2020

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    _RE_DESCRIPTION_TAG_OPEN = re.compile(r'<p\s+class="description">'.encode('utf-8'))
    _RE_DESCRIPTION_TAG_CLOSE = re.compile(r'</p>\s*<p\s+class="author">'.encode('utf-8'))
    def replace_description_tag(content, new_tag):
        content = _RE_DESCRIPTION_TAG_OPEN .sub(f'<{new_tag} class="description">'.encode('utf-8'), content)
        return    _RE_DESCRIPTION_TAG_CLOSE.sub(f'</{new_tag}><p class="author">'.encode('utf-8'), content)

    Парсить HTML регулярками — нельзя. Но если HTML невалидный — то можно!

    А дело в том, что ГК генерирует говно, которое пришлось фиксить таким вот диким образом, см. https://govnokod.ru/26373#comment522056.

    gost, 21 Января 2020

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Неблагодарный opensource: разработчик самого быстрого веб сервера удалил его репозиторий
    
    Краткая суть ситуации: наш соотечественник fafhrd91 на протяжении 3 лет
    практически самостоятельно (см. кдпв) писал actix-web — один из популярнейших
    крейтов в инфраструктуре раста, лидер в большинстве различных бенчмарков,
    и за это время подвергался как минимум трём волнам гонений за "неправильное
    использование раста". После последнего раза автор психанул, и перенес репозиторий
    к себе в аккаунт с пометкой "Планирую скрыть репозиторий".

    Именно поэтому я против «пидарастов». Да и остальных хипстеров-говноедов.

    https://habr.com/ru/post/484436/

    gost, 21 Января 2020

    Комментарии (12)
  7. PHP / Говнокод #26370

    +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
    public function cutPoly($business_id)
        {
            $done = [];
            $red = Isochrone::where('business_id', $business_id)->where('color', 'red')->selectRaw('id, color, ST_AsText(path) as p_path')->get()->first();
            $blue = Isochrone::where('business_id', $business_id)->where('color', 'blue')->selectRaw('id, color, ST_AsText(path) as p_path')->get()->first();
            $green = Isochrone::where('business_id', $business_id)->where('color', 'green')->selectRaw('id, color, ST_AsText(path) as p_path')->get()->first();
            if ($red && $blue) {
                if (!$red['p_path'] || !$blue['p_path']) {
                    $done['red'] = 'already';
                } else {
                    $isoString = 'POLYGON((';
                    $blue_path = $blue['p_path'];
                    $red_path = $red['p_path'];
                    if (!array_key_exists('lat', $blue['p_path'][0])) {
                        $blue_path = $blue['p_path'][0];
                    }
                    if (!array_key_exists('lat', $red['p_path'][0])) {
                        $red_path = $red['p_path'][0];
                    }
                    $isoString .= implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $red_path))
                    . '),('.
                        implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $blue_path))
                        .'))';
                    Isochrone::where('business_id', $business_id)->where('color', 'red')->update(['path' => \DB::raw("ST_GeomFromText('$isoString')")]);
                    $done['red'] = 'ok';
                }
            } else if ($red && $green) {
                if (!$red['p_path'] || !$green['p_path']) {
                    $done['red'] = 'already';
                } else {
                    $isoString = 'POLYGON((';
                    $green_path = $green['p_path'];
                    $red_path = $red['p_path'];
                    if (!array_key_exists('lat', $green['p_path'][0])) {
                        $green_path = $green['p_path'][0];
                    }
                    if (!array_key_exists('lat', $red['p_path'][0])) {
                        $red_path = $red['p_path'][0];
                    }
                    $isoString .= implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $red_path))
                    . '),('.
                        implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $green_path))
                        .'))';
                    Isochrone::where('business_id', $business_id)->where('color', 'red')->update(['path' => \DB::raw("ST_GeomFromText('$isoString')")]);
                    $done['red'] = 'ok green';
                }
            }
            if ($blue && $green) {
                if (!$blue['p_path'] || !$green['p_path']) {
                    $done['blue'] = 'already';
                } else {
                    $isoString = 'POLYGON((';
                    $green_path = $green['p_path'];
                    $blue_path = $blue['p_path'];
                    if (!array_key_exists('lat', $green['p_path'][0])) {
                        $green_path = $green['p_path'][0];
                    }
                    if (!array_key_exists('lat', $blue['p_path'][0])) {
                        $blue_path = $blue['p_path'][0];
                    }
                    $isoString .= implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $blue_path))
                    . '),('.
                        implode(',', array_map(function ($entry) {
                            return $entry['lat'] . ' ' . $entry['lng'];
                        }, $green_path))
                        .'))';
                    Isochrone::where('business_id', $business_id)->where('color', 'blue')->update(['path' => \DB::raw("ST_GeomFromText('$isoString')")]);
                    $done['blue'] = 'ok';
                }
            }
            return $done;
        }

    Он же через час - три дня будет разбиратся что написал

    websbkinfo, 21 Января 2020

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var param1 = { name: product.prod_option, values: product.prod_variants};
        var param2 = { name: product.prod_option2, values: product.prod_variants2};
        var param3 = { name: product.prod_option3, values: product.prod_variants3};
        var param4 = { name: product.prod_option4, values: product.prod_variants4};
        var param5 = { name: product.prod_option5, values: product.prod_variants5};
        t_store_product_addOneOptionsControl('modificator', param1 , optionsWrapper, options);
        t_store_product_addOneOptionsControl('modificator', param2, optionsWrapper, options);
        t_store_product_addOneOptionsControl('modificator', param3, optionsWrapper, options);
        t_store_product_addOneOptionsControl('modificator', param4, optionsWrapper, options);
        t_store_product_addOneOptionsControl('modificator', param5, optionsWrapper, options);

    javascriptist, 21 Января 2020

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

    +1

    1. 1
    https://www.linux.org.ru/forum/development/15475716?cid=15478711

    > Система типов в С++ куда мощнее любой скриптухи, особенно хаскеля. Там уже есть завтипы. А значит какая угодно суперкомпиляция. Да и сам С++ состоит из суперкомпиляции на 99%.
    Царь

    j123123, 20 Января 2020

    Комментарии (32)
  10. PHP / Говнокод #26362

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $s = $_REQUEST['user_str'];
    $lnk = mysqli_connect('localhost','root','1234','Jelwery') or die("Error ".mysqli_error($connection));
    mysqli_set_charset("utf8");
    $res = mysqli_query($lnk, "SELECT SUBSTRING('".$s."',1,8') as result") or $res = ("Ошибка ".mysqli_error($connection));
    $row = mysqli_fetch_assoc($res);
    $s = $row['t'];
    echo 'Truncated string: '.$s;

    Взятие подстроки (когда запретили substr($s,8) :))

    st4rkc0d3, 19 Января 2020

    Комментарии (24)
  11. Lua / Говнокод #26361

    +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
    -- ввод
    io.write('Введите число: ')
    x=tonumber(io.read())
    -- проверка
    -- 1-я часть
    pro=0
    e=true
    io.write("0")
    for i=1,x do
     if e then
      io.write(' + '..i)
      pro = pro+i
     else
      io.write(' - '..i)
      pro = pro-i
     end
     e = not e
    end
    print(" = "..pro)
    a1 = pro
    -- 2-я часть
    pro=1
    e=true
    for i=1,x-1,2 do io.write('(') end
    io.write("1")
    for i=1,x do
     if e then
      io.write(' + '..i)
      pro = pro+i
     else
      io.write(')/'..i)
      pro = pro/i
     end
     e = not e
    end
    print(" = "..pro)
    a2 = pro
    ------------------------------
    if (a1<0 and a2==1) then print('Число четное')
    elseif (a1>=0 and a2~=1) then print('Число нечетное')
    end

    Проверка четности числа (работает для чисел >= 1)

    st4rkc0d3, 18 Января 2020

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