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

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // https://habr.com/ru/company/jugru/blog/469465/
    // Инициализация в современном C++ 
    // ...
    //Есть примеры ещё более странного поведения этого синтаксиса:
    
    std::string s(48, 'a'); // "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    std::string s{48, 'a'}; // "0a"

    > В первой строке создаётся строка из 48 символов «а», а во второй строка «0а». Это происходит потому, что конструктор string принимает на вход initializer_list из символов. 48 является целочисленным значением, поэтому оно преобразуется в символ. В ASCII число 48 — код символа «0». Это очень странно, потому что есть конструктор, принимающий именно такие аргументы, int и char. Но вместо вызова этого конструктора происходит совершенно неочевидное преобразование. В итоге получается код, который чаще всего ведёт себя не так, как мы ожидаем.

    КАК? Как можно было столько хуйни наворотить для такой простой вещи, как инициализация переменной? Чем они вообще думают?

    Не перестаю удивляться долбоебизму крестостандартизаторов

    j123123, 05 Октября 2019

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

    +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
    public void addDisplayMethodNoAttribute()
    {
            addHeaderMethod();
            pyScript.append("def doPrint(row, columns):\n");
            pyScript.append("  line=\"\"\n");
            pyScript.append("  for column in columns:\n");
            pyScript.append("    if(line == \"\"):\n");
            pyScript.append("      line = line + str(row[column])\n");
            pyScript.append("    else:\n");
            pyScript.append("      if(column == \"translations\"):\n");
            pyScript.append("        line = line + separator+ \"[\"\n");
            pyScript.append("        buf = \"\"\n");
            pyScript.append("        for item in row[column]:\n");
            pyScript.append("          if(buf != \"\"):\n");
            pyScript.append("            buf = buf + \", \"\n");
            pyScript.append(
                    "          buf = buf + \"[\" + str(item[\"source\"]) + \", \" + item[\"code\"] + \", \" + item[\"comment\"] + \"]\"\n");
            pyScript.append("        line = line + buf + \"]\"\n");
            pyScript.append("      else:\n");
            pyScript.append("        line = line + separator + str(row[column])\n");
            pyScript.append("  print(line)\n");
            pyScript.append("\n");
            pyScript.append("list = df.collect()\n");
            pyScript.append("for row in list:\n");
            pyScript.append("    doPrint(row, df.columns)\n");
            pyScript.append("\n");
            addSessionDestroy();
            generatePySparkScript();
    }

    Мне пытались объяснить что так лучше из-за того что не все люди знают питон, и из-за этого будем генерить его в Java.

    kazuzbek, 30 Сентября 2019

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

    +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
    <?php
    namespace Illuminate\Notifications\Messages;
    use Illuminate\Bus\Queueable;
    class BroadcastMessage
    {
        use Queueable;
    
        /**
         * The data for the notification.
         *
         * @var array
         */
        public $data;
    
        /**
         * Create a new message instance.
         *
         * @param  array  $data
         * @return void
         */
        public function __construct(array $data)
        {
            $this->data = $data;
        }
    
        /**
         * Set the message data.
         *
         * @param  array  $data
         * @return $this
         */
        public function data($data)
        {
            $this->data = $data;
            return $this;
        }
    }

    (new BroadcastMessage($shit))->data($shit)->data; // this data is the same $shit!
    оч удобно
    https://github.com/illuminate/notifications/blob/master/Messages/BroadcastMessage.php

    pahhan, 18 Сентября 2019

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    /**
     * @api
     * @var int $id the numeric WordPress id of a post
     */
    public $id;
    
    /**
     * @var string 	$ID 			the numeric WordPress id of a post, capitalized to match WP usage
     */
    public $ID;

    WordPress, страна чудес!

    https://github.com/timber/timber/blob/a08370165c9240a33b977b037574181d3e1fa5a1/lib/Post.php#L107

    jufer, 16 Сентября 2019

    Комментарии (42)
  6. C++ / Говнокод #25842

    +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
    // https://habr.com/ru/post/466985/
    
    // о каррировании в крестоговне
    
    // По сути это каррирующее говно просто складывает куда-то хуйню, а потом целиком ее в функцию призывает.
    // Ну т.е. на Си можно написать дрисню вида
    
    int shit(int a, int b, int c, int d)
    {
      return a*(b+c*d);
    }
    
    // И вот каррирование такой дрисни это как если б я сделал структуру
    struct shit_arguments
    {
       int a;
       int b;
       int c;
       int d;
    };
    
    // И потом бы с конца заполнял это говно
    struct shit_arguments;
    shit_arguments.d = 13;
    shit_arguments.c = 666;
    shit_arguments.b = 1488;
    shit_arguments.a = 42;
    // и при полном заполнении этого говна просто б вызвал функцию
    // подставив туда накопившееся говно
    int somecrap = shit(shit_arguments.a, shit_arguments.b, shit_arguments.c, shit_arguments.d);
    
    // именно так эта крестовая дрисня и работает, она не может произвести частичное вычисление
    // не может сделать функцию с частично вычисленной дрисней в ней на основе частично переданной хуйни
    
    // если я например в функцию shit захочу частично подставить аргументы b,c,d как 1,2,3 то у меня не получится функции вида
    int shit_b1_c2_d3(int a)
    {
      return a*(7); // 1+2*3 = 7
    }
    // Нихуя подобного не будет. А если нихуя подобного нет, нахуй это бесполезное дерьмо вообще надо?
    // В крестах никак нельзя на основе каких-то готовых функций сгенерить
    // видоизмененные функции с частично сделанными вычислениями
    // Никакой нормальной рефлексии нет, просто какие-то тупые кривые костыли к сишечке налепили
    // И это программисты?

    j123123, 15 Сентября 2019

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

    +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
    num = 600851475143
    i = 1
    numbers = []
    result = []
    for i in range(1, num):
        if i % 1 == 0:
            if i % i == 0:
                if i % 2 != 0:
                    if i % 3 != 0:
                        if i % 4 != 0:
                            if i % 5 != 0:
                                if i % 6 != 0:
                                    if i % 7 != 0:
                                        if i % 8 != 0:
                                            if i % 9 != 0:
                                                numbers.append(i)
                                                print(numbers)
    
    for c in range (numbers):
        if num % c == 0:
            result.append(c)
    num_2 = max(result)

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

    CkpunmoBbIu_nemyx, 09 Сентября 2019

    Комментарии (11)
  8. 1C / Говнокод #25777

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Попытка
    		Выборка = Запрос.Выполнить().Выбрать();
    	Исключение
    		Пока Выборка.Следующий() Цикл
    			Рез.Менеджер = Выборка.СуммаМенеджера;
    			Рез.Дивизион =  Выборка.СуммаСтаршегоДивизиона;
    		КонецЦикла;
    	КонецПопытки;

    timm00, 27 Августа 2019

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

    +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
    <?
    global $DB,$APPLICATION,$USE,$USER_FIELD_MANAGER,$CACHE_MANAGER;
    /* @var $DB CDatabase */
    /* @var $GLOBALS['DB'] CDatabase */
    /* @var $GLOBALS["DB"] CDatabase */
    $DB = $GLOBALS['DB'] = $GLOBALS["DB"] = new CDatabase();
    /* @var $APPLICATION CMain */
    /* @var $GLOBALS['APPLICATION'] CMain */
    /* @var $GLOBALS["APPLICATION"] CMain */
    $APPLICATION = $GLOBALS['APPLICATION'] = $GLOBALS["APPLICATION"] = new CMain();
    /* @var $USER CUser */
    /* @var $GLOBALS['USER'] CUser */
    /* @var $GLOBALS["USER"] CUser */
    $USER = $GLOBALS['USER'] = $GLOBALS["USER"] = new CUser();
    /* @var $USER_FIELD_MANAGER CUserTypeManager */
    /* @var $GLOBALS['USER_FIELD_MANAGER'] CUserTypeManager */
    /* @var $GLOBALS["USER_FIELD_MANAGER"] CUserTypeManager */
    $USER_FIELD_MANAGER = $GLOBALS['USER_FIELD_MANAGER'] = $GLOBALS["USER_FIELD_MANAGER"] = new CUserTypeManager;
    /* @var $CACHE_MANAGER CCacheManager */
    /* @var $GLOBALS['CACHE_MANAGER'] CCacheManager */
    /* @var $GLOBALS["CACHE_MANAGER"] CCacheManager */
    $CACHE_MANAGER = $GLOBALS['CACHE_MANAGER'] = $GLOBALS["CACHE_MANAGER"] = new CCacheManager;
    ?>

    Есть тут петухи, которые шарят в "PHP" ? Какие скобки лучше ординарные или двойные ?

    phpBidlokoder2, 23 Августа 2019

    Комментарии (88)
  10. Куча / Говнокод #25701

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Есть какие советы, как уехать за границу так, чтобы поддерживать связь с родителями и не быть найденным?
    
    Я думаю, что даже через мобильник связываться опасно.
    Пеленг, все дела, хоть там и схемы на жесткой логике, чаще всего. Но боязно.
    В конце концов, доступ к таким операциям можно получить через взлом сервера\технического отдела.

    OlegUP, 06 Июля 2019

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

    +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
    super(
                new TkWithHeaders(
                    new TkVersioned(
                        new TkMeasured(
                            new TkFlash(
                                new TkAppFallback(
                                    new TkAppAuth(
                                        new TkForward(
                                            new TkFork(
                                                new FkHost(
                                                    "relay.jare.io",
                                                    new TkFallback(
                                                        new TkRelay(base),
                                                        req -> new Opt.Single<>(
                                                            new RsWithType(
                                                                new RsWithBody(
                                                                    new RsWithStatus(req.code()),
                                                                    new Sprintf(

    Код вполне рабочего проекта

    Ray_Mints, 04 Июля 2019

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