1. C++ / Говнокод #13732

    +8

    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
    template<int ID> struct typeof_access
    {
        struct id2type; //not defined
    };
    
    template<class T, int ID> struct typeof_register : typeof_access
    {
        // define base's nested class here
        struct typeof_access::id2type
        {
            typedef T type;
        };
    };
    
    //Type registration function 
    typeof_register<T, compile-time-constant> register_type(const T&);
    
    //Actually register type by instantiating typeof_register for the correct type
    sizeof(register_type(some-type));
    
    //Use the base class to access the type.
    typedef typeof_access::id2type::type type;

    Igor Chesnokov discovered a method that allows to implement typeof on the VC series of compilers. It uses a bug in the Microsoft compiler that allows a nested class of base to be defined in a class derived from base.

    http://www.boost.org/doc/libs/1_54_0/doc/html/typeof/other.html

    LispGovno, 03 Сентября 2013

    Комментарии (6)
  2. PHP / Говнокод #13731

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $try = $db->getRow(
    	"SELECT * FROM user_{$name}, item_{$name} ".
    	"WHERE user_{$name}.usr_id=? AND user_{$name}.{$type}_id=? AND user_{$name}.{$type}_id=item_{$name}.{$type}_id",
    	array($user->usr_id, $id)
    );

    последствия неправильно спроектированной БД

    xara, 03 Сентября 2013

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ((ObjectType)value == ObjectType.Undefined)
    {
        return string.Empty;
    }
    {
        return ((ObjectType)value).GetDescriptionAttribute();
    }

    Как будто не хватает чего-то..

    save2love, 03 Сентября 2013

    Комментарии (34)
  4. Pascal / Говнокод #13729

    +121

    1. 1
    2. 2
    Держу - верчу вот, в руках сидюк. На обложке надпись: "Программирование для школькиков и студентов". 
    Вроде бы пустяк, но с недавних пор эта фраза для меня звучит весьма кощунственно.

    Stertor, 03 Сентября 2013

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

    +14

    1. 1
    2. 2
    struct Ziga : std::exception {};
    throw Ziga();

    Теперь вы знаете как кинуть зигу в C++ !!

    PSIAlt, 02 Сентября 2013

    Комментарии (70)
  6. PHP / Говнокод #13726

    +169

    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
    <?php
    
    // ...
    function init_module_laboratory()
    {
        // ... 871 строка глазовыдирающего кода и далее:
    
        /**
         * Дорогой продолжатель развития этого дерьмого приложения,
         * я перед уходом подготовил для тебя много пряников, чтобы
         * тебе не было скучно. Желаю тебе удачного рабочего времени!
         */
        return !!1?!0:(!!1?(!1?!0:(!!!1?!!1:!1)):!1);
    }

    И такое встречаться может

    greevex, 02 Сентября 2013

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

    +119

    1. 1
    2. 2
    /proc/add_action(source, action, param1, param2)
    	toExecute += list(source = source, procname = ( action = "attack" ? "attack" : ( action = "move" ? "move" : ( action = "..." ? "someshit1" : ( action = "...(2)" ? "someshit2" : null ) ) ) ), params = list( ( (action = "attack") or (action = "move") ? param1 : null), (action = "..." or action = "...(2)" ? param2 : null ) )

    А я люблю обмазываться несвежим кодом в одну строку и дрочить.

    Сам код - лишь пример, но его можно расширять бесконечно.

    EditorRUS, 02 Сентября 2013

    Комментарии (5)
  8. PHP / Говнокод #13724

    +157

    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
    public static function createShareUser($email) {
            $password = substr(md5(time()), 0, 8);
            $query =  "insert into users (username, email, realname, password) values ('".$email."','".$email."','".$email."','".md5($password)."')";
            $c = 0;
            while (!mysql_query($query) && $c < 100) {
    			LLogger::logError("[createUser] - MySql error (".$c."): [".implode(' *** ', DB::error_info()));
    			return false;
                $query = preg_replace('%_%' . ($c - 1), '_' . ($c), $query);
                $c++;
            }
        
            if ($c == 100) {
                LLogger::logError("[createUser] - More than 10 unnamed users exists.");
                return false;
            }
    
            $userId = LQuery::getLastInsertId();
            LUserRights::setUserRights($userId);
            return $userId;
        }

    //если у нас строка exists в БД, это что бы наверняка, а вдруг на 101 раз у нас ее не будет :)
    // ну или наконец, оно "волшебным" образом ее туда всетаки впихнет
    //мускул обидится на автора и сдастся, подумает, да ну тебя ты дебил хочешь так на!
    // автор просто Пикассо, что не фун-я то шедевр.

    vv3d0x, 02 Сентября 2013

    Комментарии (9)
  9. Pascal / Говнокод #13723

    +87

    1. 1
    FileName := Format('%.2d',[I]) + 'frame' + Format('%.3d', [J]) + '.jpg';

    Вычисление названия картинки в цикле

    1291, 02 Сентября 2013

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

    +150

    1. 1
    parseInt($("#index").val()) == $("#index").val()

    Нашел на каком-то сайте, проверка на данных на числа. Люди не знаю что такое регулярки)

    farit_slv, 02 Сентября 2013

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