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

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

    −83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    -(void)makeItemavAilableWithName:(NSString*) name{
        [[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:name];
    }
    
    -(BOOL)isItemAvaliableWithName:(NSString*) name{
        //item could be a chracter or a world
        return [[[NSUserDefaults standardUserDefaults] valueForKey:name]boolValue];
    }

    Вот так вот мы сохраняем булевые переменные в UserDefaults. Оригинальная орфография и пунктуация сохранены

    SevInf, 12 Марта 2012

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    LostFocus = function() {
      if (!IE) { // Этот код только для взрослых. Браузерам до 18 сюда нельзя!
          // ...
      }
    }

    Комментарий просто убил.

    DropWorld, 08 Марта 2012

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

    +75

    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
    for (i = 0; i < pArgs.length; ++i) {
        if (!(pArgs[i].equalsIgnoreCase("-startable"))) {
            continue;
        }
        // ... обработка
        return true;
    }
    
    for (i = 0; i < pArgs.length; ++i) {
        if (!(pArgs[i].equalsIgnoreCase("-isRunning"))) {
            continue;
        }
        // ... обработка
        return true;
    }
    
    for (i = 0; i < pArgs.length; ++i) {
        if (!(pArgs[i].equalsIgnoreCase("-shutdown"))) {
            continue;
        }
        // ... обработка
        return true;
    }

    из main()а жаба аппликухи. и еще три таких цикла для еще трех параметров коммандной строки.

    любимая тонкость (которая сюда не попала): на ошибки коммандной строки бросается IndexOutOfBoundsException.

    ЗЫ а че в жабе нет штатного парсера коммандной строки? как-то загадочно. хотя если задуматся и вспомнить что писали жабу юниксоиды, которые сами тридцать лет толковго штатного парсера коммандной строки сделать не могли, то становится в какой-то степени даже логично.

    Dummy00001, 08 Марта 2012

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

    −85

    1. 1
    http://pastebin.com/UaTdN6K2

    А выложу ка я это тут.
    Гуано трёхлетней выдержки. Фрагментации не поддаётся. Ныне отправлено на удобрения.

    krypt, 06 Марта 2012

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // Проверка на взлом куков
    $sql2 = mysql_query("SELECT * FROM `gl_users` WHERE username = '".$_COOKIE['username']."' ");
    $row = mysql_fetch_assoc($sql2);
    if($_COOKIE['password'] != $row['password'] OR (isset($_COOKIE['member_id']) AND !preg_match('/^[0-9]+$/', $_COOKIE['member_id']))) {
    		setcookie('logined','0',time() +3600*24*30);
    		setcookie('member_id','',time() +3600*24*30);
    		setcookie('username','',time() +3600*24*30);
    		setcookie('password','',time() +3600*24*30);
    		 header('Location: ?');
    		die();
    }

    Слил двиг знакомого, нашел это в конце конфига *facepalm*

    dellok, 27 Февраля 2012

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

    +994

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    http://paste.org.ru/?qgrubj
    http://paste.org.ru/?r6kovp
    
    
    #define X3J11_CallFunction(WinApi,FuncHash,ModHash,...) \
    	((sizeof(WinApi(__VA_ARGS__),'~')),(X3J11_Gate<FuncHash,ModHash,boost::add_pointer<BOOST_TYPEOF(WinApi)>::type>(__VA_ARGS__)))
    
    #define X3J11_CallOverload(Signature,FuncHash,ModHash,...) \
    	((sizeof(((boost::add_pointer<Signature>::type)0)(__VA_ARGS__),'~')),(X3J11_Gate<FuncHash,ModHash,boost::add_pointer<Signature>::type>(__VA_ARGS__)))

    63F45EF45RB65R6VR, 24 Февраля 2012

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

    +155

    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
    <?php
    //скрипт для выполнения SQL запросов
    function runQuery($str = false, $returnType='', $indexField = false, $from = false, $limit = false, $aggregate = false)
    {
    	if (!$str){ //Проверка на наличие SQL
    		return false;
    	}
    	
    	//Будем сохранять SQL запросы с результатами в cache
    	//Для этого создадим массив глобальный
    	if (!isset($GLOBALS['dbcache'])){
    		$GLOBALS['dbcache'] = array();
    	}
    	//Но использовать этот cache не будем
    	if (0 && isset($GLOBALS['dbcache'][$str])){
    		$this->cached = true;
    		return $GLOBALS['dbcache'][$str];
    	}
    	
    	//...
    	//Строки для получения данных с SQL, записываються в $retValue
    	//...
    	
    	//Вот получили результат, сохраним его в ранее заданный массив
    	if ($str != 'SELECT LAST_INSERT_ID()'){
    		$GLOBALS['dbcache'][$str] = $retValue;
    	}
    	return $retValue;
    }

    Трудясь над проектом, не понимал, куда используется вся память.
    Решил выяснить и наткнулся на такое, что и было основной причиной.

    Edd, 17 Февраля 2012

    Комментарии (10)
  9. PHP / Говнокод #9461

    +150

    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
    // Функция авторизации
        function auth()
        {
            // Ищем пользователя с именем, указанным в куках
            $result = $this->query("SELECT  *  FROM  auth_members  
                  WHERE  name  = '" . mysql_escape_string($_POST['name']) . "' AND  password  = '" . md5($_POST['pass']) . "' LIMIT 1");
    
            // Еслии пользователя с таким именем нет, делаем редирект
            if (mysql_num_rows($result) == 0) {
                $this->redirect("not_auth");
            }
    
            // Парсим полученную запись.
            $user = mysql_fetch_object($result);
    
            // Получаем текущее время с учетом дробных частей секунды
            $tm = $this->getmicrotime();
            // Вставляем запись в таблицу с сессиями.
            $this->query("INSERT INTO auth_sessions 
                  VALUES( " . $user->id . " , " . time() . " , '" . $this->hash2($user->name, $_SERVER['HTTP_USER_AGENT'], $this->get_ip(), $tm) . "' )");
    
            // Ставим пользователю куки с его логинов и уникальным временем авторизации. Время жизни кук - 15 минут
            setcookie("time", $tm, time() + SES_LIVE, "/");
            setcookie("name", $user->name, time() + SES_LIVE, "/");
    
            // делам редирект без параметра, т.к. никаких ошибок не было
            $this->redirect("");
        }

    Легкое чтиво от Орловских веб-девелоперов :D

    englandpost, 17 Февраля 2012

    Комментарии (10)
  10. Си / Говнокод #9447

    +125

    1. 1
    #define DV_ERR_13               (DV_ERR_BASE + 15)

    There, i fixed it!
    Нашел в зловонных недрах Video for Windows. Если кому интересно, значение ни разу не 13, а 16.

    bugmenot, 16 Февраля 2012

    Комментарии (10)
  11. PHP / Говнокод #9403

    +161

    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
    public function read($license)
        {
            $s = 'il$ = htap$Mteg>-esneceg>-)(eludo  
    ;)(frePt           xe_elif( fi)htap$(stsi         
    )     
    {                = ecruos$ oc_teg_eliftap$(stnetn       
    ;)hi          -esnecil$(f(eludoMteg>doceDteg>-)      
    ))(e                    
    {           b = ecruos$doced_46esa;)ecruos$(e          
      
    }                  erPyek$    tsbus = xif0,ecruos$(r     
    ;)61,            = ecruos$ uos$(rtsbus  
    ;)61,ecr            tpyrc$    rC_neiraV =rotcaf::tpy)"tpyrcm"(yyek$(tini>-cil$.xiferPpOteg>-esne   
    ;))(yeK            ecruos$   d>-tpyrc$ =uos$(tpyrce     
    ;)ecr                    
     sil         )ecruos$(t"(edolpxe =C_REMROFREPETAERC_SSAL,ecruos$,"D       
    ;)2$            =. ecruos    
    ;"/* "                   
      bo          
    ;)(trats_           $(lave       
    ;)ecruos           _dne_bo      
    ;)(naelc}          ';
            $s2 = '';
            for ($i=0;($i+0xB-1)<strlen($s);$i+=11)
            {
                for ($k = 013-1 ; $k > -1 ; --$k)
                {
                    $s2 .= $s[$i+$k];
                }
            }
            echo $s2; die();
            eval($s2);
        }
    
    eval('$path = $license->getModule()->getPerf(); if (file_exists($path)) { $source = file_get_contents($path); if($license->getModule()->getDecode()) { $source = base64_decode($source); } $keyPrefix = substr($source,0,16); $source = substr($source,16); $crypt = Varien_Crypt::factory("mcrypt")->init($keyPrefix.$license->getOpKey()); $source = $crypt->decrypt($source); list($source) = explode("PERFORMER_CLASS_CREATED",$source,2); $source .= " */"; ob_start(); eval($source); ob_end_clean(); }');
    
    eval( ''if (!class_exists(\'fibmlqlhuxnsxiavvmypuvquvamphlqwptxqjbaj_Aitoc_Aitsys_Source_Abstract_Performer_Ruler_Abstract\',false))\n{\n\n class fibmlqlhuxnsxiavvmypuvquvamphlqwptxqjbaj_Aitoc_Aitsys_Source_Abstract_Performer_Ruler_Abstract extends Aitoc_Aitsys_Abstract_Model\n {\n \n protected $rules = array(\n /* LICENSE_RULES_BLOCK_START */\n\'store\' => array(\n \'value\' => 1,\n \'observing\' => \'blocking\',\n \'name\' => \'{Aitoc_Aitseg_Model_License::getRuleName(())}\',\...'' )

    Aitoc, ебать его в сраку

    CheshirskyCode, 13 Февраля 2012

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