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

    В номинации:
    За время:
  2. Си / Говнокод #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)
  3. Куча / Говнокод #26448

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    «Специалист по кибербезопасности» едет в питер учить несмышленышей об опасностях в сети.
    Едет он из эстонии, где и живет, потому что парень неглупый и понимает, что в россии таким людям делать 
    нечего, но необходимость дать неокрепшим умам хоть какое-то представление о безопасности конечно 
    сильнее всех, неурядиц, которые могут подстерегать в этой стране.
    Между эстонией и питером, как известно, располагается екатеринбург, куда он и двигает - потусить с какой-то 
    инстаграмной барышней, которую он до этого никогда вживую не видел. На барышню надо произвести 
    впечатление, для чего заказывается метамфетаминовая закладка, и где-то там в этой всей неразберихе 
    появляются менты, которые и принимают «специалиста по кибербезопасности».
    Ну хоть сервак не взломали.

    https://www.znak.com/2020-02-24/sozdatel_krasnoy_knopki_litreev_priznal_ vinu_po_delu_o_nezakonnom_oborote_narkot ikov

    Fike, 24 Февраля 2020

    Комментарии (184)
  4. Куча / Говнокод #25595

    0

    1. 1
    2. 2
    Товарищ главный петух,
    Военный петух к проведению парада готов.

    BoeHHblu_nemyx, 08 Мая 2019

    Комментарии (184)
  5. 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)
  6. 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)
  7. 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)
  8. C# / Говнокод #25527

    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
    static class MathParser
    {
        static double getFunc(char op, double a, double b)
        {
            switch (op)
            {
                case '+': return a + b;   case '-': return a - b;
                case '*': return a * b;   case '/': return a / b;   case '%': return a % b;
                case '^': return Pow(a, b);   default: return double.NaN;
            }       
        }
        static char[][] ops = { new char[] { '+', '-' }, new char[] { '*', '/', '%' }, new char[] { '^' } };
        public static double Eval(string str) => Eval(ref str, 0, str.Length);
        private static double Eval(ref string str, int z, int l, int i = 0)
        {
            for (; i < 3; i++)
                for (int v = l - 1; v >= z; v--)
                    for (int j = ops[i].Length - 1; j >= 0; j--)
                        if (str[v] == ops[i][j])
                            return getFunc(str[v], 
                                Eval(ref str, z, v, i),
                                Eval(ref str, v + 1, l, i + 1));
            return double.Parse(str.Substring(z, l - z));
        }
    }

    Какой-то укуренный калькулятор получился...
    MathParser.Eval("3,1346") => 3.1346
    MathParser.Eval("3+2*5") => 13
    MathParser.Eval("2^5-1") => 31
    MathParser.Eval("1/2^3") => 0.125
    MathParser.Eval("2^2^2^2") => 256
    MathParser.Eval("7,2%3") => 1.2

    groser, 09 Апреля 2019

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

    +273

    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
    #include <math.h>
    #include <stdio.h>
    
    double  DoubleToTheInt(double base, int power) {
        return pow(base, power);
    }
    
    int main() {
        // приводим к указателю на функуцию с обратным порядком аргументов
        double (*IntPowerOfDouble)(int, double) =
            (double (*)(int, double))&DoubleToTheInt;
    
        printf("(0.99)^100: %lf \n", DoubleToTheInt(0.99, 100));
        printf("(0.99)^100: %lf \n", IntPowerOfDouble(100, 0.99));
    }

    "Изящный способ отстрелить себе ногу по самую голову."
    Утащено с Хабры.

    Vindicar, 15 Августа 2016

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

    +4

    1. 1
    Прыщебляди соснули.

    Итак, прыщеблядки. Console.WriteLine() в C# в windows 7 замечательно выводит юникод в консоли после chcp 65001, что в консоль, что в файл (в формате utf-8 без BOM). Жду ваших оправданий, почему это не работает в ваших "кроссплатформенных" поделиях вроде питона.

    3_14dar, 15 Сентября 2015

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

    +84

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static int getNumber() {
        try {
            return 7;
        } finally {
            return 43;
        }
    }

    Оказывается так делать можно...

    Qwertiy, 14 Апреля 2015

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