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

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

    +18

    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
    // ОЛОЛО ОЛОЛО КРЕСТОШАБЛОНЫ И ХУЙЛО
     if (ro<Fixed(100))
         DrawCircle<0>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(200))
         DrawCircle<1>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(400))
         DrawCircle<2>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(800))
         DrawCircle<3>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(1600))
         DrawCircle<4>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(3200))
         DrawCircle<5>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(6400))
         DrawCircle<6>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(12800))
         DrawCircle<7>(b, x, y, ri, ro, ball.color);
     else
         DrawCircle<8>(b, x, y, ro, ri, ball.color);

    Я знаю, что рекурсивный крестошаблон сможет сделать то же самое, но крестопортянка всё равно быстрее пишется и выглядит нагляднее.

    TarasB, 26 Июля 2012

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

    +148

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #include <iostream>
    #include <Windows.h>
    
    int main()
    {
        unsigned char data[]={0xb8, 0x9a, 0x02, 0x00, 0x00, 0xc3};
        auto function=(int(*)())VirtualAlloc(nullptr, sizeof(data), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
        memcpy(function, data, sizeof(data));
        std::cout << function();
        VirtualFree(function, 0, MEM_RELEASE);
        return 0;
    }

    Угадайте, что выведет эта программа?

    gammaker, 16 Октября 2011

    Комментарии (67)
  4. Lua / Говнокод #6746

    −85

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    require "android"
    local inp = android.getInput("Factorial", "Enter number:")
    local cur = 0
    local sum = 1
    
    repeat
    cur = cur + 1
    sum = sum * cur
    until cur == (inp.result * 1)
    
    android.makeToast("Factorial of " .. inp.result .. " is " .. sum)

    Lua. Маленький скриптик "факториал", накиданный на моём Desire Z в SL4A.
    Как-то явно не так надо строковые типы к целочисленным приводить...

    RaZeR, 24 Мая 2011

    Комментарии (67)
  5. Куча / Говнокод #5288

    +136

    1. 1
    Все Лучший Сток Глупый поиск Наговнокодить! Отзывы

    Иногда говнокод находится перед самыми глазами :)
    Коли ставишь автоопределение кодировки - реформал кажет предложения на русском, а надпись отзывы и заголовок окна превращаются в Говнокод.СЂСѓ: РїРѕ колено РІ РєРѕРґРµ.
    Коли ставишь православный UTF-8 - с вижу все верно, а жмешь на отзывы и лицезреешь ��� ��������� 104 ����.
    Когда корабли бороздят просторы Вселенной - мы до сих пор не может устаканиться с кодировками.
    Может ну его, и как раньше кнопочки на сайте - Windows-1251, Mac, Koi-8 и Iso :)

    7ion, 15 Января 2011

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var n = Math.abs(((date2 - date1) / 86400000) + 1);	
    var frac = n - Math.floor(n);
    
    if (frac > 0.5) {
    	n = Math.ceil(n);
    } else if (frac < 0.5 && frac.toPrecision(2) != 0) {
    	n = Math.floor(n);
    	n--;
    }
    
    n++;

    Мой говнокод.
    Задача: найти количество дней между двумя датами, включая сами эти даты. Время в датах сброшено в 0
    Фишка в том "(date2 - date1) / 86400000) + 1", не работает когда есть перевод часов между двумя датами.
    И вот такое говно я написал, которое по некоторым дням НЕ РАБОТАЕТ.

    переписал вот так:
    var n = Math.abs(date2 - date1);
    n /= 3600000;
    var mod = n % 24;
    if (mod == 23) {
    n++;
    } else if (mod == 1) {
    n--;
    }
    n /= 24;
    n++;

    теперь не важно сколько переводов часов прошло между датами: 0, 1, 2 или 5.

    По поводу говнокода:
    За такой frac на авторе надо зарабатывать фраг!

    Oleg_quadro: автор, убей себя головой о клаву:
    Oleg_quadro: "vb fgrbfvgr bgfvrt rtuijnikjikni56trg5rt6g45t6rgyh hnjunh ujuuuuuuuuuuuuuuuuuuuy"

    Oleg_quadro, 01 Декабря 2010

    Комментарии (67)
  7. PHP / Говнокод #3699

    +121

    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
    // то проверяем его куки
        // вдруг там есть логин и пароль к нашему скрипту
    
        if (isset($_COOKIE['login']) && isset($_COOKIE['password'])) {
            // если же такие имеются
            // то пробуем авторизовать пользователя по этим логину и паролю
            $login = mysql_real_escape_string($_COOKIE['login']);
            $password = mysql_real_escape_string($_COOKIE['password']);
    
            // и по аналогии с авторизацией через форму:
    
            // делаем запрос к БД
            // и ищем юзера с таким логином и паролем
    
            $query = "SELECT `id`
                    FROM `users`
                    WHERE `login`='{$login}' AND `password`='{$password}'
                    LIMIT 1";
            $sql = mysql_query($query) or die(mysql_error());
    
            // если такой пользователь нашелся
            if (mysql_num_rows($sql) == 1) {
                // то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
    
                $row = mysql_fetch_assoc($sql);
                $_SESSION['user_id'] = $row['id'];

    авторитизация из кук ну сколько не говори не храни в куках пароли и логины нет найдется один говонокодер которому все не почем и учит детей плохому

    Vasiliy, 14 Июля 2010

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

    +113

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static Predicate<Token> GetMatchBracePredicate(Token token)
            {
                if (token is Token.BeginBrace)
                    return delegate(Token t) { return t is Token.BeginBrace; };
                if (token is Token.BeginQuote)
                    return delegate(Token t) { return t is Token.BeginQuote; };
                if (token is Token.BeginRound)
                    return delegate(Token t) { return t is Token.BeginRound; };
                if (token is Token.BeginSquare)
                    return delegate(Token t) { return t is Token.BeginSquare; };
           // ...

    С просторов интернета.

    Говногость, 16 Июня 2010

    Комментарии (67)
  9. SQL / Говнокод #1942

    −154.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    create table user.profile (
      ...
      gender boolean,
      ...
    )

    Очевидно, true - это мужик :D

    Suor, 06 Октября 2009

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

    +152

    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
    #include <stdio.h>
    
    
    void main()
    {
    printf("WTF? :)\n");
    }
    
    #undef main
    
    
    int HAHA()
    {
    I();
    return 0;
    }

    как же написать программу с
    void main();
    ????
    gcc ./main.cpp -Dmain=I -DHAHA=main -lstdc++

    P.S. страуструп продолжает рвать на себе волосы от использования Cpp

    guest, 14 Марта 2009

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

    +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
    EXAMPLE
    
    To specify what kind of authorization is needed to execute the program /usr/bin/pk-example-frobnicate as another user, simply write an action definition file like this
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE policyconfig PUBLIC
      "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
      "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
    <policyconfig>
    
      <vendor>Examples for the PolicyKit Project</vendor>
      <vendor_url>http://hal.freedesktop.org/docs/PolicyKit/</vendor_url>
    
      <action id="org.freedesktop.policykit.example.pkexec.run-frobnicate">
        <description>Run the PolicyKit example program Frobnicate</description>
        <description xml:lang="da">Kør PolicyKit eksemplet Frobnicate</description>
        <message>Authentication is required to run the PolicyKit example program Frobnicate (user=$(user), program=$(program), command_line=$(command_line))</message>
        <message xml:lang="da">Autorisering er påkrævet for at afvikle PolicyKit eksemplet Frobnicate (user=$(user), program=$(program), command_line=$(command_line))</message>
        <icon_name>audio-x-generic</icon_name>
        <defaults>
          <allow_any>no</allow_any>
          <allow_inactive>no</allow_inactive>
          <allow_active>auth_self_keep</allow_active>
        </defaults>
        <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/pk-example-frobnicate</annotate>
      </action>
    
    </policyconfig>

    Simply write an action definition file like this, they said...

    bormand, 17 Декабря 2021

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