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

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

    +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
    // https://habr.com/ru/post/440388/
    // Интервалы: грядущая эволюция C++ 
    
    // Давайте теперь рассмотрим следующую задачу: имеется вектор, необходимо удалить
    // из него все повторяющиеся элементы. В рамках текущего стандарта мы решали бы её так:
    
    std::vector<T> vec=...;
    std::sort( vec.begin(), vec.end() );
    vec.erase( std::unique( vec.begin(), vec.end() ), vec.end() );
    
    
    // При этом мы указываем имя вектора аж 6 раз! Однако, используя концепцию интервалов
    // (объединив итераторы на начало и конец вектора в один объект), можно написать в разы проще, указав искомый вектор лишь единожды:
    
    tc::unique_inplace( tc::sort(vec) );
    
    //... Че, серьезно? Я так тоже могу:
    // Однако, используя сишный препроцессор™, можно написать в разы проще, указав искомый вектор лишь единожды:
    
    #define DELETE_DUPS(x) do{ std::sort( x.begin(), x.end() ); x.erase( x::unique( x.begin(), x.end() ), x.end() );}while(0)
    
    DELETE_DUPS(vec);

    Тоже мне революция.

    j123123, 15 Февраля 2019

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

    +1

    1. 1
    “Если в скрипт не переданы аргументы, то мы создадим директорию для persistent-данных по дефолтному пути. Например /tmp/persistent”

    gueest8, 08 Февраля 2019

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

    +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
    EventBus.$on('drag-element', (element) => {
                    if (element.type !== 'form') {
                        setTimeout(() => {
                            this.dragging = true
                        }, 1000)
                    }
                }),
                EventBus.$on('change-element-order', data => {
                    this.manageElementOrder(data, this.page.elements)
                });
                EventBus.$on('change-removed-powered-by', data => {
                    this.isRemovedPoweredBy = this.theme.isRemovedPoweredBy;
                });
                EventBus.$on('select-element', (element, flags = {}) => {
                    let isElExist = false;
    
                    if (isElExist) return;
    
                    if (element.type !== 'form' || flags.isFormCreated) {
    
                        EventBus.$emit('update-email-form', element);
    
                        if (flags.isFormCreated) {
                            EventBus.$emit('add-form')
                        }
    
                        setTimeout(() => {
                            this.dragging = true
                        }, 1000)
                    } else {
                        EventBus.$emit('open-modal');
                        EventBus.$emit('set-modal-data', 'email-providers');
                    }
                });
                EventBus.$on('remove-element', element => {
                    if (!this.page.elements) return;
    
                    if (element.type == 'form') {
                        EventBus.$emit('reset-email-provide-list-fields')
                    }
    
                });
                EventBus.$on('updateBackground', (data) => {
                    this.backgroundImage = data.image;
                });
                this.$root.$on('onSetPopupPosition', this.setPopupPosition);

    VueJS
    Центральное хранилище - не, не слышал!

    websbkinfo, 07 Февраля 2019

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

    +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
    @Override
    public String toString() {
        return "IndexData{" +
                "id='" + id + '\'' +
                ", regNum='" + regNum + '\'' +
                ", docType='" + docType + '\'' +
                ", customerOrg='" + customerOrg + '\'' +
                ", ownerOrg='" + ownerOrg + '\'' +
                ", responsibleOrg='" + responsibleOrg + '\'' +
                ", publishOrg='" + publishOrg + '\'' +
                ", path='" + path + '\'' +
                ", zipName='" + zipName + '\'' +
                ", xmlName='" + xmlName + '\'' +
                ", fileDate=" + fileDate +
                ", publishDate='" + publishDate + '\'' +
                ", info=" + info +
                '}';
    }

    сериализация в json

    vistefan, 04 Февраля 2019

    Комментарии (185)
  6. JavaScript / Говнокод #25355

    +1

    1. 1
    let container = parentId ? $(document.querySelector(`.js-childrens-${this.dictionaryName}${this.guid}-${parentId}`)) : this.rowsContainer;

    2019-й год...

    webviewer, 04 Февраля 2019

    Комментарии (9)
  7. Java / Говнокод #25348

    +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
    when {
                    (defaultCurrency != null) -> {
                        when {
                            (currenciesList == null) -> {
                                currenciesList = mutableListOf(defaultCurrency)
                            }
                            (currenciesList?.isEmpty() == true) -> {
                                currenciesList?.add(defaultCurrency)
                            }
                            else -> {
                                if (currenciesList?.contains(defaultCurrency) == false) {
                                    defaultCurrency = currenciesList?.first()
                                }
                            }
                        }
                    }
                    else -> {
                        when {
                            ((currenciesList == null) || (currenciesList?.isEmpty() == true)) -> {
                                throw IllegalArgumentException("Default currency and list of currencies from terminal configuration are empty")
                            }
                            else -> {
                                defaultCurrency = currenciesList?.first()
                            }
                        }
                    }
                }

    Интерн сражается со скобочками.

    peanutwolf, 01 Февраля 2019

    Комментарии (81)
  8. Куча / Говнокод #25340

    +1

    1. 1
    https://i.imgur.com/7uRLULs.mp4

    Аппаратная нейросеть в мозгах петуха совершила ошибку классификации.

    j123123, 30 Января 2019

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

    +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
    <div id="bp-task-tabs-header" class="bp-tabs-block">
        <span id="bp-task-tab-1" class="bp-tab" onclick="return function(){
        var t1 = BX('bp-task-tab-1'),
            t2 = BX('bp-task-tab-2'),
            t1c = BX('bp-task-tab-1-content'),
            t2c = BX('bp-task-tab-2-content');
    
            BX.addClass(t1, 'bp-tab-active'); BX.removeClass(t2, 'bp-tab-active');
            BX.addClass(t1c, 'active'); BX.removeClass(t2c, 'active');
            return false;
        }()"><?=GetMessage("BPATL_COMMENTS")?></span>
        <span id="bp-task-tab-2" class="bp-tab bp-tab-active" onclick="return function(){
        var t1 = BX('bp-task-tab-2'),
            t2 = BX('bp-task-tab-1'),
            t1c = BX('bp-task-tab-2-content'),
            t2c = BX('bp-task-tab-1-content');
    
            BX.addClass(t1, 'bp-tab-active'); BX.removeClass(t2, 'bp-tab-active');
            BX.addClass(t1c, 'active'); BX.removeClass(t2c, 'active');
            return false;
        }()"><?=GetMessage("BPATL_DOC_HISTORY")?></span>
    
        <?if($hasFirstIdProcess):?>
            <span id="bp-task-tab-2" class="bp-tab bp-tab-active" onclick="return function(){
            var t1 = BX('bp-task-tab-3'),
                t2 = BX('bp-task-tab-2'),
                t3 = BX('bp-task-tab-1');
    
            var t1c = BX('bp-task-tab-3-content'),
                t2c = BX('bp-task-tab-2-content'),
                t3c = BX('bp-task-tab-1-content');
    
                BX.addClass(t1, 'bp-tab-active'); 
                BX.removeClass(t2, 'bp-tab-active');
                BX.removeClass(t3, 'bp-tab-active');
    
                BX.addClass(t1c, 'active'); 
                BX.removeClass(t2c, 'active');
                BX.removeClass(t3c, 'active');
    
                return false;
            }()"><?=GetMessage("BPATL_FIRST_DOC_HISTORY")?></span>
        <?endif?>
    </div>

    Добавление новой вкладки для бизнес процесса задачи в битриксе

    https://imgur.com/a/151ZUXl

    djigurda, 28 Января 2019

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

    +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
    <div class="tablicmagazov">
        <h2>Розничные магазины</h2>
    
        <div class="tablica_magazinov">
            <div class="stroka_zagolovok_magazin">
                <div class="kolonka_magazin"></div>
                <div class="kolonka_magazin"></div>
                <div class="kolonka_magazin zagolovok_ico">Груминг</div>
                <div class="kolonka_magazin zagolovok_ico">Ветеринар</div>
                <div class="kolonka_magazin zagolovok_ico">Самовывоз</div>
            </div>
    	    <?foreach($arResult["ITEMS"] as $arItem):?>
                <div class="stroka_magazina">
                    <div class="kolonka_magazin">
                        <a href="<?echo $arItem['DETAIL_PAGE_URL']?>"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[0])[0];?></a>
                        <div class="voprosik_magazini">
                            ?
                            <div class="soderzimoe_voprosa">
                                <?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[3])[4];?>
                                <?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[4])[4];?>
                                <?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[5])[4];?>
                                <div class="strelka_dop_uslugi_vspliv"></div>
                            </div>
                        </div>
                    </div>
                    <div class="kolonka_magazin magaz_metro">
                        <div class="znachek_metro"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[2])[2];?></div>
                        <?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[1])[0];?>
                    </div>
                    <div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[3])[1];?></div>
                    <div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[4])[1];?></div>
                    <div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[5])[1];?></div>
                </div>
    	    <?endforeach;?>
        </div>
    </div>

    #bitrix

    cheburator, 24 Января 2019

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ( '''' )
    ( 3 ) : 'HELLO-FORTH  ." Hello, Forth!" BEGIN REFILL 0= UNTIL ; 'HELLO-FORTH
    echo 'Hello, J!'
    print =: ]
    NB.''')
    print('Hello, Python!')

    1. Forth
    2. J
    3. Python1
    4. Python2
    5. Python3

    Rooster, 24 Января 2019

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