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

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    import traceback
    
    a = (1,2,[3,4])
    try:
        a[2] += [4,5]
    except:
        traceback.print_exc()
    print(a)

    Traceback (most recent call last):
    File "prog.py", line 5, in <module>
    a[2] += [4,5]
    TypeError: 'tuple' object does not support item assignment

    (1, 2, [3, 4, 4, 5])


    Какой бароп )))

    https://m.habr.com/ru/company/domclick/blog/506138/

    3_dar, 13 Июня 2020

    Комментарии (43)
  3. Си / Говнокод #26736

    +3

    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
    #include "gc.h"
    
    static bool PointerNotOwnedByParentStackFrame(struct StackFrame *frame,
                                                  struct StackFrame *parent,
                                                  void *ptr) {
      return !(((intptr_t)ptr > (intptr_t)frame) &&
               ((intptr_t)ptr < (intptr_t)parent));
    }
    
    /**
     * Adds destructor to garbage shadow stack.
     *
     * @param frame is passed automatically by wrapper macro
     * @param fn takes one argument
     * @param arg is passed to fn(arg)
     * @return arg
     */
    void __defer(struct StackFrame *frame, void *fn, void *arg) {
      struct StackFrame *frame2;
      if (!arg) return;
      frame2 = __builtin_frame_address(0);
      assert(frame2->next == frame);
      assert(PointerNotOwnedByParentStackFrame(frame2, frame, arg));
      if (append(&__garbage, /* note: append() not included */
                 (&(const struct Garbage){frame->next, (intptr_t)fn, (intptr_t)arg,
                                          frame->addr})) != -1) {
        frame->addr = (intptr_t)&__gc;
      } else {
        abort();
      }
    }

    deferы в Сищечке

    https://gist.github.com/jart/aed0fd7a7fa68385d19e76a63db687ff

    3.14159265, 04 Июня 2020

    Комментарии (85)
  4. PHP / Говнокод #26731

    +3

    1. 1
    Error displaying the error page: Application Instantiation Error: Could not connect to MySQL.

    МОЭК запустила дополнительный информационный сервис для москвичей о сроках отключения горячей воды

    https://online.moek.ru

    real_escape_string, 03 Июня 2020

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Ваш тимлид нашему в подметки не годится. Наш ебашит вообще адовый С++. Ну такой вот примерно рецепт усредненный,
     потому что вариаций масса. Берутся шаблоны, намазываются везде, писать понятно – это не про нашего тимлида. 
    Он берет этот код, вываливает его в IDE и начинает писать. Добавляет в него огромное количество инструкций препроцессора,
     лямбд, макросов и вариативных шаблонов для вязкости, ассемблерные вставки сверху.
     Все это компилируется до дыма. Потом линкуется и не встает. Потом открывает IDE и начинает дебажить.
     При этом дебажит принтами, размазывая их по всему коду. Дебажит и приговаривает полушепотом ух бля.
     При этом у него на лбу аж пот выступает. Любезно мне иногда предлагает, но я отказываюсь.
     Надо ли говорить о том какой дичайший код потом? Багры такие, что обои от стен отклеиваются.

    KoBudHbIu_nemyx, 02 Июня 2020

    Комментарии (0)
  6. Си / Говнокод #26701

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // https://youtu.be/KdZ4HF1SrFs?t=4473
    // про питоновский for
    
    for x in 1, 5, 2, 4, 3
        print(x**2)
    
    
    //> написать это в две строки у вас не получится
    
    for(struct {size_t cnt; int arr[5];} i = {0, {1,5,2,4,3}}; i.cnt < sizeof(i.arr)/sizeof(i.arr[0]); ++i.cnt )
      printf("%d ", (int)(pow(i.arr[i.cnt], 2) + 0.5) );

    В Си я могу и в 1 строку эту хуйню написать.

    j123123, 28 Мая 2020

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Помните шутку про 1С/C++/CSH программиста?
    Так вот: парень хочет работать с COM портом, но почему-то COM объект в Windows не создается.
    
    
    https://phpclub.ru/talk/threads/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-failed-to-create-com-object.86770/

    MAKAKA, 21 Мая 2020

    Комментарии (139)
  8. PHP / Говнокод #26675

    +3

    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
    // Вот код скрипта для отправки емейла:
    
    mb_internal_encoding ("utf-8");
    $from = "Иван Иванов <[email protected]>";
    $to = $name."<$email>";
    $subject = "Подтверждение подписки";
    $message = "текст письма здесь";
    $headers = "From: ".$from."\nReply-To: ".$from."\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit";
    mail ($to, $subject, $message, $headers);
    
    // И что характерно, само тело письма приходит в правильной кодировке. А вот поля отправителя,
    // получателя и сабж письма - в краказябинах. Сами тексты этих полей 100% написаны в utf-8, код скрипта тоже в utf-8.
    // Вот что что я вижу в почте:
    
    // Subject: РРѕРґСРІРµСждение РїРѕРґРїРёСРєРё
    // From: Рван Рванов <[email protected]>
    // Reply-To: Рван Рванов <[email protected]>
    
    // ...
    
    // Проблема решилась следующим образом:
    $subject = "=?utf-8?B?" . base64_encode("Подтверждение подписки") . "?=";
    // И так для каждого поля.

    https://phpclub.ru/talk/threads/Нужна-помощь-битая-кодировка-в-письме.82881/

    gost, 20 Мая 2020

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    template<typename T>
    concept Addable = requires (T x) { x + x; }; // requires-expression
     
    template<typename T> requires Addable<T> // requires-clause, not requires-expression
    T add(T a, T b) { return a + b; }

    все решено.. перехожу писать код на "конецепты"

    ASD_77, 05 Мая 2020

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

    +3

    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
    class Person {
        protected name: string;
        constructor(name: string) { this.name = name; }
    }
    
    class Employee extends Person {
        private department: string;
    
        constructor(name: string, department: string) {
            super(name);
            this.department = department;
        }
    
        public get ElevatorPitch() {
            return `Hello, my name is ${this.name} and I work in ${this.department}.`;
        }
    }
    
    const howard = new Employee("Howard", "Sales");
    console.log(howard.ElevatorPitch);
    
    //===============================================>>>>>>>>>>>>>>>>>>
    
    #ifndef TEST_H
    #define TEST_H
    #include "core.h"
    
    using namespace js;
    
    class Person;
    class Employee;
    
    class Person : public object, public std::enable_shared_from_this<Person> {
    public:
        string name;
    
        Person(string name);
    };
    
    class Employee : public Person, public std::enable_shared_from_this<Employee> {
    public:
        string department;
    
        Employee(string name, string department);
        virtual any get_ElevatorPitch();
        Employee(string name);
    };
    
    extern std::shared_ptr<Employee> howard;
    #endif
    
    #include "test.h"
    
    using namespace js;
    
    Person::Person(string name) {
        this->name = name;
    }
    
    Employee::Employee(string name, string department) : Person(name) {
        this->department = department;
    }
    
    any Employee::get_ElevatorPitch()
    {
        return "Hello, my name is "_S + this->name + " and I work in "_S + this->department + "."_S;
    }
    
    Employee::Employee(string name) : Person(name) {
    }
    
    std::shared_ptr<Employee> howard = std::make_shared<Employee>("Howard"_S, "Sales"_S);
    
    void Main(void)
    {
        console->log(howard->get_ElevatorPitch());
    }
    
    int main(int argc, char** argv)
    {
        Main();
        return 0;
    }

    Было делать нехрен в жизни и решил наговнокодить транспайлер с TypeScript в С++

    https://github.com/ASDAlexander77/TypeScript2Cxx

    ASD_77, 05 Мая 2020

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

    +3

    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
    // file ceny.php
    $МС_1А_t = '29 000'; //Отходы производства белой бумаги (кроме газетной)
    $МС_1А_k = '29,0';
    $МС_2А_t = '17 000'; //Отходы производства всех видов белой бумаги в виде обрезков с линовкой и черно-белой или цветной полосой
    $МС_2А_k = '17,0';
    $МС_5Б_1_t = '11 500'; //Отходы производства гофрированного картона и его компонентов
    $МС_5Б_1_k = '11,5';
    $МС_5Б_2_t = '10 500'; //Отходы потребления гофрированного картона
    $МС_5Б_2_k = '10,5';
    $МС_6Б_t = '7 500'; //Отходы производства и потребления картона всех видов с печатью (кроме гофрокартона)
    $МС_6Б_k = '7,5';
    $МС_6Б_1_t = '13 500'; //Отходы производства картона только из беленых волокнистых материалов
    $МС_6Б_1_k = '13,5';
    $МС_7Б_1_t = '16 500'; //Отходы белой бумаги с черно-белой печатью не более 20%
    $МС_7Б_1_k = '16,5';
    $МС_7Б_2_t = '11 500'; //Отходы бумаги (кроме газетной) с черно-белой и цветной печатью, в том числе крашеные в массе
    $МС_7Б_2_k = '11,5';
    $МС_7Б_3_t = '9 500'; //Книги, журналы, брошюры, проспекты, каталоги
    $МС_7Б_3_k = '9,5';
    $МС_8В_t = '12 000'; //Отходы производства и потребления газет и газетной бумаги
    $МС_8В_k = '12,0';
    $МС_9В_t = '7 500'; //Бумажные гильзы, шпули, втулки
    $МС_9В_k = '7,5';
    
    // некст файл
    ... какой-то шаблон с выводом текста
    <?php
    			include_once "%ceny.php%";
    			
    			if($page_code == 'ms1a') echo "<p>Цена: до  {$МС_1А_t} руб. за тонну (до {$МС_1А_k} руб. за кг).</p>";
    			if($page_code == 'ms2a') echo "<p>Цена: до  {$МС_2А_t} руб. за тонну (до {$МС_2А_k} руб. за кг).</p>";
    			if($page_code == 'ms5b-1') echo "<p>Цена: МС-5Б/1 - до {$МС_5Б_1_t} руб. за тонну (до {$МС_5Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms5b-2') echo "<p>Цена: МС-5Б/2 - до {$МС_5Б_2_t} руб. за тонну (до {$МС_5Б_2_k} руб. за кг).</p>";
    			if($page_code == 'ms6b') echo "<p>Цена: МС-6Б - до {$МС_6Б_t} руб. за тонну (до {$МС_6Б_k} руб. за кг).</p>";
    			if($page_code == 'ms6b-1') echo "<p>МС-6Б/1 - до {$МС_6Б_1_t} руб. за тонну (до {$МС_6Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-1') echo "<p>Цена: МС-7Б/1 - до {$МС_7Б_1_t} руб. за тонну (до {$МС_7Б_1_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-2') echo "<p>МС-7Б/2 - до {$МС_7Б_2_t} руб. за тонну (до {$МС_7Б_2_k} руб. за кг).</p>";
    			if($page_code == 'ms7b-3') echo "<p>МС-7Б/3 - до {$МС_7Б_3_t} руб. за тонну (до {$МС_7Б_3_k} руб. за кг).</p>";
    			if($page_code == 'ms8v') echo "<p>Цена: до {$МС_8В_t} руб. за тонну (до {$МС_8В_k} руб. за кг).</p>";
    			if($page_code == 'ms9v') echo "<p>Цена: до {$МС_9В_t} руб. за тонну (до {$МС_9В_k} руб. за кг).</p>";
    			if($page_code == 'ms13v') echo "<p>Цена: до {$МС_13В_t} руб. за тонну (до {$МС_13В_k} руб. за кг).</p>";
    			if($page_code == 'othod-poliehtilena') echo "<p>Цена: до {$П_Э_t} руб. за тонну (до {$П_Э_k} руб. за кг).</p>";
    ?>

    Продолжение трилогии http://govnokod.ru/25730, так вот зачем это было нужно

    phpBidlokoder2, 27 Апреля 2020

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