1. Си / Говнокод #11511

    +132

    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
    int enctypex_decoder_rand_validate(unsigned char *validate) {
        int     i,
                rnd;
    
        rnd = ~time(NULL);
        for(i = 0; i < 8; i++) {
            do {
                rnd = ((rnd * 0x343FD) + 0x269EC3) & 0x7f;
            } while((rnd < 0x21) || (rnd >= 0x7f));
            validate[i] = rnd;
        }
        validate[i] = 0;
        return(i);
    }

    WGH, 01 Августа 2012

    Комментарии (10)
  2. Haskell / Говнокод #11510

    −79

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    t = 40000 -- количество итераций, чтобы выполнялось примерно 1 миллисекунду
                    -- экспериментальным путем определено, что для ideone'вских машин это значение ~40000
     
    sleep x = (apply (t*x) id x) `seq`
        ("I've waited ~" ++ show x ++ " milliseconds to tell this: 'pipisiunchik'.")
    
    -- apply применяет ф-цию f к x n раз
    apply 0 _ !x = x
    apply !n !f !x = apply (n - 1) f (f x)
     
    main = putStrLn $ sleep 1000

    Спешу представить вам плод моего безделья: чистая ф-ция sleep на Haskell!

    Тесты:
    1sec - http://ideone.com/sLxRx
    3.5sec - http://ideone.com/vn4Fd
    10sec - http://ideone.com/U8s36

    zim, 31 Июля 2012

    Комментарии (21)
  3. PHP / Говнокод #11509

    +42

    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
    foreach ($balancedSlots as $cluster) {
                    if ($cluster['type']=='cluster'){
                            foreach ($cluster['servers'] as $ip=>$server) {
                                    if ($GLOBALS['mode']!='test'){
                                            $GLOBALS['dataVar'][$i] = array();
                                            if (isset($server['snmp_server'])){
                                                    $p = preg_split('/,/', $server['snmp_server']);
                                                    $GLOBALS['dataVar'][$i]['proc_handle'] = popen(dirname(__FILE__).'/snmp_server.sh '.$p[0].' '.$p[1], 'r');
                                                    $GLOBALS['dataVar'][$i]['snmp_params'] = $p;
                                                    $GLOBALS['dataVar'][$i]['snmp_result'] = array('ifName'=>array(), 'counter'=>array());
                                            }
                                            else {
                                                    //print "proc_handle: ".$server['snmp_cmd']."\n";
                                                    $GLOBALS['dataVar'][$i]['proc_handle'] = popen($server['snmp_cmd'], 'r');
                                            }
                                            $GLOBALS['dataVar'][$i]['server']=$server;
                                            $GLOBALS['dataVar'][$i]['server']['ip']=$ip;
                                            $GLOBALS['dataVar'][$i]['eb'] = event_buffer_new($GLOBALS['dataVar'][$i]['proc_handle'], "read_result", NULL, "error_func", $i);
                                            event_buffer_timeout_set($GLOBALS['dataVar'][$i]['eb'], 4, 60);
                                            event_buffer_base_set($GLOBALS['dataVar'][$i]['eb'], $GLOBALS['base']);
                                            event_buffer_enable($GLOBALS['dataVar'][$i]['eb'], EV_READ);
                                    }
                                    elseif ($GLOBALS['mode']=='test')
                                    {
                                            if (!array_key_exists($ip, $testLastServers)) {
                                                    $testLastServers[$ip]=0;
                                            }
                                            if ($testServersData[$ip][$testServersIteration]!==false){
                                                    $GLOBALS['result'][$ip] = new ArrayObject(array('counter64'=>$testLastServers[$ip]+$testServersData[$ip][$testServersIteration], 'ts'=>$GLOBALS['mesure_time']));
                                                    $testLastServers[$ip] = $GLOBALS['result'][$ip]['counter64'];
                                            }
                                    }
                                    $i++;
                            }
                    }
            }

    Попытка одного товарища использовать библиотеку libevent. Видно щедрое использование глобальных переменных.

    Bdfy, 31 Июля 2012

    Комментарии (13)
  4. PHP / Говнокод #11507

    +64

    1. 1
    2. 2
    3. 3
    $is_root = ($node_id == 0) ? 'yes' : ''; 
    //и потом..
    if (!is_null($name_node) && $is_root != 'yes') {

    Есть у меня падаван-джуниор, девушка. Есть вот в коде перлы типа такого.
    булеан, не не слышал =\ И не понятно почему yes и пустая строка, пусть бы было уже yes и no.. Женская логика?

    vitaly, 31 Июля 2012

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

    +130

    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
    /*
    	 * Это массив объектов данных мануала. Один элемент - одна ступень.
    	 * У объектов может быть указан checkpoint:Boolean - место, к которому вернется игрок, при закрытии игры
    	 * У каждого объекта должен быть указан type:String, в зависимости от этого меняются другие свойства.
    	 * Для создания нового типа ступени туториала - необходимо создать класс, наследующий ITutorialData
    	 * и добавить соотвествующую запись в showStep::TutorialManager
    	 * Виды type:
    		 * dialog - диалоговое окно, атрибуты:
    			 * sex:Boolean - какого персонажа показывать в окне
    			 * descr:String - текст диалогового окна
    		 * pointer - стрелка, указывающая на кнопку
    			 * x,y:int - координаты кнопки
    			 * width,height:uint - размеры кнопки
    			 * x_a,y_a:int - координаты стрелки
    			 * angle:int - поворот стрелки, рекомендуемые значения: 0, 90, -90, 180
    			 * необязательные:
    				 * startfunc:Function - функция, выполняемая ПРИ переходе на эту ступень
    				 * endfunc:Function -  функция, выполняемая ПОСЛЕ нажатия кнопки
    		 * handler - слушатель событий
    		 * target:EventDispatcher - объект, на который подпишется туториал
    		 * event:String - название события, на которое подпишется туториал
    		 * необязательные:
    				 * startfunc:Function - функция, выполняемая ДО подписки на событие
    				 * eventDispatchFunction:Function - функция, выполняемая ВО ВРЕМЯ возникновения события
    				 * endfunc:Function -  функция, выполняемая ПОСЛЕ возникновения события
    		 *  handler-pointer - слушатель событий, показывающий стрелку
    			 * x_a,y_a:int - координаты стрелки
    			 * target:EventDispatcher - объект, на который подпишется туториал
    			 * event:String - название события, на которое подпишется туториал
    			 * необязательные:
    				 * startfunc:Function - функция, выполняемая ДО подписки на событие
    				 * eventDispatchFunction:Function - функция, выполняемая ВО ВРЕМЯ возникновения события
    				 * endfunc:Function -  функция, выполняемая ПОСЛЕ возникновения события 
    	 * Спасибо за внимание
     */			
    public static var data:Array;

    После такого комментария становится страшно что-то трогать

    KirAmp, 31 Июля 2012

    Комментарии (8)
  6. Куча / Говнокод #11505

    +113

    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
    Знаешь, (с), по-моему, я схожу с ума...
    Дело в том, что иногда по ночам мне кажется, что я яваблядь. Мне хочется выделять память, зарабатывать на доширак,
    пиздеть про энтерпрайз, сваливать свои проблемы на чужие плечи и писать нечитаемый бессмысленный говнокод.
    Я ворочаюсь, страдаю, рычу, а под конец вскакиваю с кровати и хватаю первое, что попалось под руку.
    Это может быть тапок, топор или простая поварешка, но в моем воображении она становится огромным
    прожорливым интерпретатором.
    С этим интерпретатором я открываю корпус сервера, ставлю ещё две планки оперативной памяти и с громким боевым
    кличем выбегаю на улицу. Я бегаю под окнами своих соседей и ору: "Ява не тормозит, тупые нищебляди!! Купите нормальное железо!!"
    Но они не покупают... Они привыкли.
    И когда я уставший, но довольный, поднимаюсь в квартиру, наоравшись и набегавшись, одна из дверей открывается.
    Там, лукаво сверкая глазенками, стоит маленький соседский мальчик Женька. Он громко шепчет беззыбым ртом
    "Клоссплатфолменность!" и ободряюще мигает мне одним глазом.
    Я, улыбаясь ему, прохожу мимо, и в душе моей поют заказчики.
    А дома я открываю бутылку водки, морщась, выпиваю ее до половины, и ловлю кота. Ругая этого "сраного волосатого индуса",
    я сажаю его за клавиатуру, и чтобы он не убежал, приматываю его к ней скотчем.
    А дальше все просто.
    Я стою у окна, пуская скупую быдлокодерскую слезу по своей прыщавой щеке , и мечтаю. Я представляю, что огни домов --
    это пламя костров, на которых сжигают крестопидоров, шум машин -- это рев кулеров в серверных, а в мире нет ничего,
    кроме великого энтерпрайза и нас, яваблядей...
    И я жду, что вдруг, вот сейчас, в мою дверь войдет начальник и скажет: "Эй, раб, ты чо так так долго? Давай, быстро дописывай
    исходник. Похуй, если будет тормозить - разберутся те, кто будет сопровождать! ГА-га-га-га!" И ободряюще хлопнет меня по спине.
    И тогда не будет в мире счастливее человека, чем я... Точнее, явабляди.
    Что же мне делать, анон? Что же мне делать?

    Моё творчество. :)

    Знаешь, ты мне уже надоел. Пользователь HaskellGovno забанен до 07.08.2012. В следующий раз забаню навсегда.

    HaskellGovno, 31 Июля 2012

    Комментарии (20)
  7. Java / Говнокод #11504

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public static class FuckMeGentlyWithAChainsaw {
        /* This wrapper class exists to work around the possibly most
        * stupid Java bug ever (and that's saying a lot): That
        * URL.equals and URL.hashCode do DNS lookups and
        * block. Which, of course, not only sucks performance-wise
        * but also breaks actual correct URL equality. */
        public final URL url;
        public FuckMeGentlyWithAChainsaw(URL url) {
            this.url = url;
        }
    }

    Код из клиента одной онлайн игрушки, процитирован дословно.

    bormand, 31 Июля 2012

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

    +107

    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
    if (curMenu != null)
     {
     depth = curMenu.Depth;
     Menu menuG = null;
     if (depth == 1)
     {
     menuG = curMenu;
     }
     if (depth == 2)
     {
     menuG = curMenu.Menu2;
     }
     if (depth == 3)
     {
     menuG = curMenu.Menu2.Menu2;
     }
     if (depth == 4)
     {
     menuG = curMenu.Menu2.Menu2.Menu2;
     }

    Меню "неограниченной" вложенности

    Mihard, 31 Июля 2012

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

    +46

    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
    38. 38
    39. 39
    public function getAddressInfo($address) {
    		if (!$address instanceof SalesOrderAddressShipping) return '';
    		
    		$country = $address->getCountry();
    		$region = $address->getRegion();
    		$city = $address->getCity();
    		$zipCode = $address->getZipCode();
    		$street = $address->getStreet();
    		$houseNumber = $address->getHouseNumber();
    		$building = $address->getBuilding();
    		$appartment = $address->getAppartment();
    
    		$addressInfo = '';
    		$addressInfo .= $city . ', ' . $street . ' ' . $houseNumber;
    		$addressInfo .= !empty($building) ? ', корп. ' . $building : '';
    		$addressInfo .= !empty($appartment) ? ', кв. ' . $appartment : '';
    
    		return $addressInfo;
    	}
    
    	public function getAddressInfoWithoutApartment($address) {
    		if (!$address instanceof SalesOrderAddressShipping) return '';
    
    		$country = $address->getCountry();
    		$region = $address->getRegion();
    		$city = $address->getCity();
    		$zipCode = $address->getZipCode();
    		$street = $address->getStreet();
    		$houseNumber = $address->getHouseNumber();
    		$building = $address->getBuilding();
    		$appartment = $address->getAppartment();
    
    		$addressInfo = '';
    		$addressInfo .= $city . ', ' . $street . ' ' . $houseNumber;
    		$addressInfo .= !empty($building) ? ', корп. ' . $building : '';
    		//$addressInfo .= !empty($appartment) ? ', кв. ' . $appartment : '';
    
    		return $addressInfo;
    	}

    а сам класс называется AdminOrderListContentView, ебиеговрот....

    SET, 31 Июля 2012

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

    +51

    1. 1
    AdminOrderListContentView::getAddressInfoWithoutApartment()

    Одна строчка кода но как много в ней...

    SET, 30 Июля 2012

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