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

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

    +121

    1. 1
    2. 2
    http://habrahabr.ru/blogs/algorithm/103513/
    Советую всем посмотреть, очень воодушевляет.

    А теперь по теме, вторая часть видео ( http://video.yandex.ru/users/ya-events/view/128/?cauthor=ya-events&cid=10 ) 44:44 .
    Александр Александрович: "У указателей не нужно определять операцию сравнения [....] равенство есть, а неравенства нет.
    [..] Вы не можете теперь создать множество. Точнее можете, но оно будет очень медленным."
    Какое-то чудило: " ээ, ну если вести хэшировние, и операцию equals, как в Java сделано"..
    Интересно, как он хеширование сделает, если две сущности можно сравнивать только на равенство?
    Да, и ещё, сразу виден развращённый( хешированием ) неокрепший детский мозг - видимо никогда не слышал про двоичные деревья поиска, что уже говорить по красно-чёрные деревья.

    P.S. Где тут куча? это же Pascal

    J0hnny, 04 Сентября 2010

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

    −1

    1. 1
    2. 2
    3. 3
    bool CheckRepeat(int cur, int i, char* word) {
    	return (word[cur] != '\0') ? ((word[i] != '\0') ? ((word[cur] == word[i] && cur != i) ? true : CheckRepeat(cur, i + 1, word)) : CheckRepeat(cur + 1, 0, word)) : false;
    }

    Функция проверки слова на повторение букв.
    Задали в институте лабу, в требование входили рекурсия и экономия строк, подпрограммы такого плана понравились преподавателю.

    G0_G4, 13 Октября 2020

    Комментарии (185)
  4. Си / Говнокод #26528

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include                             <stdio.h>
              #define q  t=*u,*u=*l,*l=t
           int f(char*s,char*p){char*u,*l,t
       ;static long g=0; if(!s)return 0;if(!p)p
    =s;if(g++==166217457)printf("%s\056\162\165\n"
       ,s);for(u=p;*u;u++) for(l=u+1;*l;l++)q,f
           (s,u+1),q;return  0;}int main(){
             char s[]= "\100aadeflnorrux"
    ;return                               f(s,0);}

    http://alexfru.narod.ru/econtact.html
    > My e-m@!1 address can be obtained with the following...

    Вот бля как надо свой email скрывать! А то вот какие-то анскилушные myemail (гав-гав) mail.ru - это всё хуйня, боты наверняка расшифруют

    j123123, 25 Марта 2020

    Комментарии (185)
  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. C++ / Говнокод #11383

    +24

    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
    do
        {
    		count++;
    		Xt=X;
    		if (ii==1)
    		{
    			X= dichotomia(a,b, E);
    			fprintf(bnf, "%lf;\n", Xt);
    		}
    		else
    		{
    			if (ii==2)
    			{
    				X=newton(X, E);
    				fprintf(bnf, "%lf;\n", Xt);
    			} 
    			else
    			{
    				if (ii==3)
    				{
    					X=sekuschich(X, b);
    					fprintf(bnf, "%lf;\n", Xt);
    				}
    				else
    				{
    					if (ii==4)
    					{
    						ii==1;
    						ii==2;
    						ii==3;
    					}
    				}
    			}
    		}
    		printf("X=%lf\n", X);
    		if(Func(X)*Func(a)>0)a=X;
    		else b=X;
    	}
    	while(fabs(X-Xt)>=E);

    В общем лаба на численые методы поиска корней.
    После того как я предоставил няшный, полностью удовлетворяющий условиям, после проверки меня попросили "сделать как у парней", и вот участок их высера

    p.s. форматирование сохранить не удалось, да и там совсем бы ничего понятно бы не было

    maksim_ovcharik, 09 Июля 2012

    Комментарии (185)
  7. Си / Говнокод #26687

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Там в стандарт сишки хотят добавить хуйни какой-то
    
    // https://habr.com/ru/company/badoo/blog/503140/
    // C2x: будущий стандарт C
    
    // Итак, с опозданием лет на 20 к нам приходят функции strdup и strndup!
    #include <string.h>
    
    char *strdup (const char *s);
    char *strndup (const char *s, size_t size);

    Они есть в позикс стандарте, да и вообще эти функции - говно, как и нуль-терминированные строки сами по себе.

    j123123, 23 Мая 2020

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

    +128

    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
    static readonly Regex binary = new Regex("^[01]{1,32}$", RegexOptions.Compiled);
    static void Main() {
        Test("");
        Test("01101");
        Test("123");
        Test("0110101101010110101010101010001010100011010100101010");
    }
    static void Test(string s) {
        if (binary.IsMatch(s)) {
            Console.WriteLine(Convert.ToInt32(s, 2));
        } else {
            Console.WriteLine("invalid: " + s);
        }
    }

    http://stackoverflow.com/questions/1271562/binary-string-to-integer
    Мучает вопрос. Зачем ставить регулярку? Почему бы просто не словить FormatExeption?

    neeedle, 09 Июля 2013

    Комментарии (184)
  9. Си / Говнокод #3376

    +103

    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
    /*    Copyright 2009 10gen Inc.
     *
     *    Licensed under the Apache License, Version 2.0 (the "License");
     *    you may not use this file except in compliance with the License.
     *    You may obtain a copy of the License at
     *
     *    http://www.apache.org/licenses/LICENSE-2.0
     *
     *    Unless required by applicable law or agreed to in writing, software
     *    distributed under the License is distributed on an "AS IS" BASIS,
     *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     *    See the License for the specific language governing permissions and
     *    limitations under the License.
     */
    
    /* all the numbers that fit in a 4 byte string */
    const char bson_numstrs[1000][4] = {
        "0",  "1",  "2",  "3",  "4",  "5",  "6",  "7",  "8",  "9",
        "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
    	/* 105 строк поскипано */
        "980", "981", "982", "983", "984", "985", "986", "987", "988", "989",
        "990", "991", "992", "993", "994", "995", "996", "997", "998", "999",
    };

    Взято отсюда - http://github.com/mongodb/mongo-c-driver/blob/master/src/numbers.c . А это коммит - http://github.com/mongodb/mongo-c-driver/commit/0198225180a51e0b0b8a84f25b34b3047d3b9c80

    raorn, 02 Июня 2010

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

    +10

    1. 1
    2. 2
    3. 3
    4. 4
    public static string toFormat(string s, int u)
    {
        return "                                                                       ".Substring(0, u * 4) + s +"\r\n";
    }

    Функция используется для форматирования файла класса, созданного автоматически.

    deathguard771, 25 Февраля 2016

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

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var actions = new List<Action>();
    foreach (var i in Enumerable.Range(1, 3))
    {
        actions.Add(() => Console.WriteLine(i));
    }
    
    foreach (var action in actions)
    {
        action();
    }

    По мотивам https://govnokod.ru/11946

    Просто форкнул и запустил старый пример LispGovno (мир ему)

    Старый пример: https://ideone.com/RaiHr

    Новый пример: https://ideone.com/M1ducs

    Однако получил совершенно другой результат.

    3.14159265, 29 Августа 2021

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