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

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

    +1514

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    [151] ns-flow-pair-entry(n,c) ::= ns-flow-pair-yaml-key-entry(n,c)
                                    | c-ns-flow-map-empty-key-entry(n,c)
                                    | c-ns-flow-pair-json-key-entry(n,c)
    [152] ns-flow-pair-yaml-key-entry(n,c) ::= ns-s-implicit-yaml-key(flow-key)
                                               c-ns-flow-map-separate-value(n,c)
    [153] c-ns-flow-pair-json-key-entry(n,c) ::= c-s-implicit-json-key(flow-key)
                                                 c-ns-flow-map-adjacent-value(n,c)
    [154] ns-s-implicit-yaml-key(c) ::= ns-flow-yaml-node(n/a,c) s-separate-in-line?
                                       /* At most 1024 characters altogether */
    [155] c-s-implicit-json-key(c) ::= c-flow-json-node(n/a,c) s-separate-in-line?
                                       /* At most 1024 characters altogether */

    If the “?” indicator is omitted, parsing needs to see past the implicit key to recognize it as such. To limit the amount of lookahead required, the “:” indicator must appear at most 1024 Unicode characters beyond the start of the key. In addition, the key is restricted to a single line.

    Note that YAML allows arbitrary nodes to be used as keys. In particular, a key may be a sequence or a mapping. Thus, without the above restrictions, practical one-pass parsing would have been impossible to implement.


    Столкнулся, значит, с проблемой. ЙАМЛ парсер для Го не может распарсить даже примеры из спецификации.
    Заглянул в исходники - ад и погибель. Копипаста сишного кода из libyaml с косметическими изменениями. Функции по 200+ строк с кучей ифов, регулярками и т.п. Решил заглянуть в спецификацию в надежде, что может можно самому как-то... в спецификации - ад и погибель. Копипаста с грамматическими ошибками, и тьма их. Ну а как дошел до этого места, так сразу и понял, что тут уже делать больше нечего.

    wvxvw, 19 Августа 2016

    Комментарии (23)
  3. C# / Говнокод #20465

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (test)
    {
    _inquiryLineRepository.RequestToOrderAPI(model, idetails, true);
    
    }
    else
    {
    _inquiryLineRepository.RequestToOrderAPI(model, idetails);
    }

    индусы радуются и танцуют групповые танцы, когда видят, что подобный код пишет кто то кроме них

    and1dufresn3, 04 Августа 2016

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
      * @param int $day
      * @return bool
      */
    protected function isWorkingDay($day)
    {
        return $day % 8 <= 5;
    }

    Cпособ определить, является ли указанный день (передается номер дня в неделе от 1 до 7) рабочим. Чем автора не устроил return $day <= 5 - непонятно..

    feversocial, 11 Июля 2016

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

    +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
    template<class... Bases>
    struct MaminVisitor: public boost::static_visitor<>, public Bases... {
        MaminVisitor(Bases&&... bases) : Bases(std::move(bases))... { }
    };
    
    
    template<class Variant, class... F>
    void match(Variant &&v, F &&... functors) {
        typedef MaminVisitor<typename std::decay<F>::type...> visitor_t;
        boost::apply_visitor(visitor_t(std::move(functors)...), std::forward<Variant>(v));
    }
    
    
    int main() {
        boost::variant<int, double, std::string> v = "ololo";
    
        match(v,
            [&](auto x) {
                std::cout << "auto branch " << x << std::endl;
            },
            [&](double x) {
                std::cout << "double branch " << x << std::endl;
            }
        );
    
        return 0;
    }

    Сделал няшный матч, а на гцц не конпелируется.
    http://ideone.com/J9ulsr

    kurwa-nextgen, 05 Июля 2016

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

    +14

    1. 1
    2. 2
    3. 3
    Note: If your <username> starts with the "u" or "x" character, change
    C:\MSys\1.0\home\<username>\config.h and double all backslashes
    in VLC_COMPILED_BY constant.

    Из гайда по сборке VLC.

    bormand, 13 Июня 2016

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

    +7

    1. 1
    Вопрос по говнокодику.

    Не работает [blink], копнул учебник html, а там написано мол не все браузеры поддерживают. И что теперь делать?

    dm_fomenok, 12 Июня 2016

    Комментарии (23)
  8. C++ / Говнокод #20053

    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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    u_long thisIp = htonl(this->sockaddr.sin_addr.S_un.S_addr);
        u_long otherIp = htonl(other.sockaddr.sin_addr.S_un.S_addr);
        u_short thisPort = htons(this->sockaddr.sin_port);
        u_short otherPort = htons(other.sockaddr.sin_port);
    
        // ip1 + port1 < ip2 + port2
        if (thisIp < otherIp)
        {
            if (thisPort <= otherPort)
            {
                return true;
            }
            else
            {
                return ((unsigned)(thisPort - otherPort) < (unsigned)(otherIp - thisIp));
            }
        }
        else
        {
            if (thisPort >= otherPort)
            {
                return false;
            }
            else
            {
                return ((unsigned)(thisIp - otherIp) < (unsigned)(otherPort - thisPort));
            }
        }

    Сравнить IPv4 адрес + порт. Т.е., по сути, (thisIP + thisPort) < (otherIP + otherPort).
    unsigned long long, приди!

    gost, 21 Мая 2016

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

    −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
    <?php
    global $human; //заселяем
    $inkey = $_GET['inkey'];
    
    //обучаем:
    $array['word']='kill_all_humans';
    $array['line']='drink_all_booze';
    //и далее...
    
    function drink_all_booze()
    {}
    function kill_all_humans()
    {//убить всех человеков
        //unset ($human);
        while($human[0]>0)
        {//пока в списке людей больше 0
            if(!$human[$human[0]]['name'] == 'Fray')
            {//кроме Фрая.
                unset($human[$human[0]]);
            }
        $human[0]--;
        }
    }
    
    //выбираем что делать:
    $${array}[$inkey]();
    ?>

    Говорят, что пишу не понятно. Насколько всё хреново?

    wano987, 05 Мая 2016

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for ( i = 0; i < Arr3.length; i++ ){
    	Arr3[i].innerHTML = Arr3[i].textContent
    					.replace(/пздц|пиздец|пизда|хуй|блядь|нахуй|сука|пидорас|пидор|хуета|чмошник|б\*\*|^го|куй|куй|сладкие|анал|марамойка| девочки|хауню|хуйня|пздц|накуй|придурок|придурог|блядский|блядство|доебался|ебало|ебанул|ебанулся|[её]бнутый|[её]бнутая|[её]бнутые|хуесос|хуесосы|шлюха|пиндуй|нах|пиздуй|ахуеть|ахуенный|ахуенно|[её]пт|пизда|пиздит|охуел|ахуел|спиздил|спизди|ебаный|пиздюк|пиздище|обосанная|обоссанная|обосанный|обоссанный|хохол|пох|хохлушка|пиздюк|пиздюки|жополиз|шлюхи|бляди|пиздабол|бля|пиздишь|ебан|ебло|(Пообщаюсь с девушкой!)|(одни бляди)|(Хули ты палишь)|хер|(хер в рот)|далбаеб|заебал|ебать|(нихуя себе)|мля|замутим|нихуя|ебу|вирт|шмара|замутить|засади|засадите|хуясе|проебал|охуенные|охуенный|охуенне|ипать|попи..дим|попиздим|попездим|ебануться|жопу|жопа|жопой|жопе|(жестко любит в рот)|падла|(гоу замутим вирт)|сцучка|гоу|бог|боже|еблей|ебля|ёблей|пиздёж|пиздеж|хуле|ёбля|еплей|епля|хз|ипал|ипать|сцука|сцуко|мразинка|мразь/ig, "&#127856;&#127799; The good word could be there, but there's only emptiness.&#127856;&#127799;");
    				
    	if( Arr3[i].textContent.match ( /tipos\.at\.ua|Профсоюзная|метро|(для мужиков)|krof\.3dn\.ru|(хочу секса)|(в финaнcoвoм плaне)|(uщy прияmнoгo мoлoдого челoвeкa)|порно|порнуха|(член у себя в попке)|(в эскорте для женщин)|(обмeн uнmимнымu фomкaми)|(для дружбы, секса и общения)|(вы не xoтелu бы пошaлumь cо мной?)|(Качественный утренний минетик)|opik\.id\.vg|(Ищу уверенного в себе мужчину, для серьёзных отношений или не совсем серьёзных)|(Кто хочет познакомиться для секса?)|(Хочу предложить тебе попользоваться друг другом)|(ищу партнёра для шалостей в скайпе)|(покажу член)|(Бyдy радa нoвoмy знакoмcтву c мужчuной для дpужбы, oбщенuя uлu чeго-то бoльшего)|(Покaжу кискy пo вебке)|(Покажу киску по вебке)|(Покажу по вебке)|(Покажу по скайпу)|(Кuдaю инmuм фоmки. вoзможна сmpечa)|(В поискe сuмпaтuчнoгo мoлoдoго парня для всmречи сегодня вечеpoм)|(Стройная, свободная, страстная девушка)|(ecmь многo uнтимных фоmoгрaфuй и видeo)|futr\.pp\.ua|(Прuглашу нa чaшечкy кoфe c послeдyющим прoдолжениeм)|(страстная, стройная брюнеточка)|fVuxFsYUyj\.vn\.tn|(сучку со со своего района и приписюнить)|(ищу парня для секса в свободное время)|(Путаны из твоего города.)|(Жду тебя у себя! Приятно проведем время!)|(Хочешь окунуться в чарующий мир жаркой эротики?)|(Мальчики кто хочет секса пишите)|(Встречусь с хорошим, страсть гарантирована)|(я oчень cильнo люблю соcaть)|(юблю бpаmь в рom y паpнeй посmаpшe)|(Милая, сексуальная, красивая и очень обаятельная)|(Жду в гости Котики мой номерочек)|(925-324-17-61)|(открылась новая группа по продаже кодов)|(кто желает встреч, пишите, оплата наличными)|(Телки скучают без мужиков)|www\.youwentianxia\.cn|(Чувственная, яркая и темпераментная девушка пригласит в гости)|(Прuглашу к ceбе сегодня вeчером молoдогo и веселого парня)|(Красивая девушка с горячим темпераментом)|(Привет, кто хочет секса)|(Строго Москва и 18+)|(B таких грyппaх куча мошенников, эти бaбы все ненастоящие!)|(я сейчас свободна и могу пригласить в гости)|(Одинокие женщины в поиске)|(заходите на бесплатные сайтики знакомств)|(Москва, оплата при личной встрече)|(девушка с горячими желаниями, желает тигра)|(кто хочет секс с горячей блонди)|(жду в гости, оплата при встрече)|(работа для парней 18)|(красивого, страстного мужчину)|(удивлю техниками минета и просто помогу получить незабываемое удовольствие)|(мaльчикu кmo желaem cо мной немнoгo пошалиmь)/ig)){
    	   // Arr3[i].parentNode.parentNode.parentNode.parentNode.style.display="none";
    	   // Arr3[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
    	   // alert(Arr3[i].className);
    	   Arr3[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
    	}
    }

    3_dar, 20 Марта 2016

    Комментарии (23)
  11. JavaScript / Говнокод #19629

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    JSON объект:
    { 
       "Tickets":[100999,100998,100997],
       "Price":[5,5,5],
       "TicketCount":3
    }
    
    Вместо положенных:
    {"Tickets":[ ["100999","5"],["100998","5"],["100997","5"]]}

    Разработчик высылает JSON объект где описывает массив, вместо того чтобы просто выслать массив)))))

    mypaxa, 15 Марта 2016

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