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

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

    +4

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

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

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

    Комментарии (182)
  8. 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)
  9. Си / Говнокод #26294

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #define BYPASS_AV_BEGIN char* memdmp = NULL;memdmp = (char*)malloc(100000000);if (memdmp != NULL){int cpt = 0;for (int i = 0; i < 100000000; i++){cpt++;}if (cpt == 100000000){HANDLE file;HANDLE proc;proc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 4);if (proc == NULL){LPVOID mem = NULL;mem = VirtualAllocExNuma(GetCurrentProcess(), NULL, 100, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE, 0);if (mem != NULL){DWORD result = FlsAlloc(NULL);if (result != FLS_OUT_OF_INDEXES){
    #define BYPASS_AV_END }}}}}
    
    int main()
    {
        BYPASS_AV_BEGIN
        //malware code...
        BYPASS_AV_END
    }

    Обход антивирусов и антивирусных виртуалок
    https://lolzteam.org/threads/1275661/

    Stallman, 31 Декабря 2019

    Комментарии (181)
  10. Java / Говнокод #25728

    +4

    1. 1
    Java говно

    3_15dar, 22 Июля 2019

    Комментарии (181)
  11. Куча / Говнокод #25629

    +25189

    1. 1
    2. 2
    3. 3
    4. 4
    Обратил внимание, что сток превратился в обычное обсуждение в чате.
    Все читают всех, оффтопят, и похер в каком треде. А также когда я проверяю новые сообщения, хожу в телеграм, потом на хуз.
    Поэтому создал бота в телеге, который фактически повторяет функционал стока + можно оставлять комменты (конечно же они будут от guest8).
    По-моему получилось охуенно.

    http://t.me/GovnokodBot
    - посылаются посты и комменты
    - работает отправка и редактирование
    - если кто-то постит ссылку на картинку или youtube, телега автоматически отображает превью - удобно
    - нужно использовать bbcode
    - markdown -> bbcode - в TODO

    guest8, 20 Мая 2019

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