1. Список говнокодов пользователя wvxvw

    Всего: 202

  2. ActionScript / Говнокод #6725

    −115

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for(var name:String in parameters) {
    	postData = BOUNDARY(postData);
    	postData = LINEBREAK(postData);
    	bytes = 'Content-Disposition: form-data; name="' + name + '"';
    	for ( i = 0; i < bytes.length; i++ ) {
    		postData.writeByte( bytes.charCodeAt(i) );
    	}
    	postData = LINEBREAK(postData);
    	postData = LINEBREAK(postData);
    	postData.writeUTFBytes(parameters[name]);
    	postData = LINEBREAK(postData);
    }

    Еще один очень простой способ решить проблему многобайтовых кодировок :)

    wvxvw, 22 Мая 2011

    Комментарии (2)
  3. ActionScript / Говнокод #6694

    −109

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    override public function call(... rest):void
    {
    	var callname:String = rest[0];
    	var paramsStr:String = "";
    	
    	for(var i:int = 1; i < rest.length; i++)
    	{
    		paramsStr += rest[i] + ((i == rest.length - 1) ? "" : ",");
    	}
    	
    	ExternalInterface.call("page.appplicationToVideoPage", callname, paramsStr);
    }

    Все тот же автор продолжает говнореализацию встроенных функций и классов. (Особого внимания заслуживает говноархитектура предполагающая вызывать reflection API через reflection. Т.е. page.appplicationToVideoPage - это функция, которая парсит аргументы обратно, и вызывает функцию callname с параметрами полученными из paramsStr. Человека не устроил ExternalInterface, и он решил его тоже, через жопу, реализовать еще раз, средствами, естесственно ExternalInterface).

    wvxvw, 17 Мая 2011

    Комментарии (3)
  4. ActionScript / Говнокод #6691

    −112

    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
    private function getListenerIndex(func:Function):Number
    {
    	var num:Number = -1;
    	
    	for(var i:int = 0; i < mouseWheelListeners.length; i++)
    	{
    		if(func == mouseWheelListeners[i])
    		{
    			num = i;
    			break;
    		}
    			
    	}
    	return num;
    }
    
    public function addMouseWheelListener(subscriberFunc:Function):void
    {
    	if(getListenerIndex(subscriberFunc) == -1)
    		mouseWheelListeners.push(subscriberFunc);
    }

    Отдельного внимания заслуживает тот факт, что человек решил, что индексов в массиве не будет больше чем максимальное цело 32-битное знаковое, и не меньше чем минимальное, а вернул все равно Number. (Для не разбирающихся в AS3 есть Array.indexOf(), метод который делает то, что делает getListenerIndex() в данном примере, только быстрее, и называется по-человечески. Но автор считает, что мануал написан для идиотов...)

    wvxvw, 17 Мая 2011

    Комментарии (1)
  5. ActionScript / Говнокод #6625

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public function setCategory(categoryType:String):void
    {
    	giftIcon.visible 		= (categoryType == ActionsEnum.GIFTS);
    	effectIcon.visible 		= (categoryType == ActionsEnum.EFFECTS);
    	skinIcon.visible 		= (categoryType == ActionsEnum.SKINS);	
    	gamesIcon.visible 		= (categoryType == ActionsEnum.GAMES);
    	activtiesIcon.visible 	= (categoryType == ActionsEnum.APPLICATIONS);
    }

    Глядя на мир нельзя не удивлятся.

    wvxvw, 11 Мая 2011

    Комментарии (3)
  6. ActionScript / Говнокод #6615

    −104

    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
    protected function dragDropHandler(event:DragEvent):void
        {
            // Куча всего разного...
    
            // Scroll the caret index in view
            if (caretIndex != -1)
            {
                // Sometimes we may need to scroll several times as for virtual layouts
                // this is not guaranteed to bring in the element in view the first try
                // as some items in between may not be loaded yet and their size is only
                // estimated.
                var delta:Point;
                var loopCount:int = 0;
                // А зачем мучатся, проверять видно выделеный элемент списка или нет, 
                // с десяти раз ведь верняк заработает!
                while (loopCount++ < 10)
                {
                    validateNow();
                    delta = layout.getScrollPositionDeltaToElement(dropIndex + caretIndex);
                    if (!delta || (delta.x == 0 && delta.y == 0))
                        break;
                    layout.horizontalScrollPosition += delta.x;
                    layout.verticalScrollPosition += delta.y;
                }
            }
        }

    Flex Framework продолжает радовать. Так авторы этого творения пытаются скролить список (spark.components.List), чтобы показать выделенный элемент.

    wvxvw, 10 Мая 2011

    Комментарии (4)
  7. JavaScript / Говнокод #6514

    +158

    1. 1
    if(typeof n!="number"&&(k==Number||!(n instanceof Number))||p.round(n)!=n||n==NaN||n==Infinity)return!1;

    http://www.google-analytics.com/ga.js
    Инженеры в Гугле знают толк в JavaScript'e.

    wvxvw, 29 Апреля 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    /**
     * TODO Document HelloWorld
     * <p />
     *
     * @author Vinod.Jayakumar
     */

    Если тебя, любознательный читатель, заинтересовала валидность такого тега, то, чтобы облегчить тебе поиски:
    http://www.w3.org/TR/html4/struct/text.html#edef-P
    > We discourage authors from using empty P elements. User agents should ignore empty P elements.

    wvxvw, 18 Апреля 2011

    Комментарии (7)
  9. ActionScript / Говнокод #6201

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private function  appSendMessage(obj:Object):void
    {
            var params:Array   =  [obj.actionType, obj.funct];
    
            while((obj.args as Array).length>0)
                    params.push((obj.args as Array).shift());
            messagingClient.send("", params);
    }

    Хоть и классика, но тут еще не встречалась, кажется.

    wvxvw, 03 Апреля 2011

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

    +158

    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
    { // more code...        
    	/**
             * Sets snapshot auto sharing on facebook
             * @param {Object} key
             * @param {Object} value
             */
            setAutoShare: function(key, value) {
                    if (value) {
                            this.api.askPermissions("publish_stream", function(list) {
                                    if (list == null || list.indexOf("publish_stream") < 0){
                                            this.vr.dom.round.setAutoShare(key, false);
                                    } else {
                                            this.vr.dom.round.setAutoShare(key, true);
                                            var request = new Request({
                                                    method:'post',
                                                    data: "env=facebook&"+ key + "=true&widgetSessionId=" + this.conf.pysid,
                                                    url: this.conf.baseUrl + "/set/auto-share",
                                                    onSuccess: function() {
                                                            this.vr.dom.round.setAutoShare(key, true);
                                                    }.bind(this)
                                            }).send();
                                    }
                            }.bind(this));
                    } else {
                            var request = new Request({
                                    method: "post",
                                    url: this.conf.baseUrl + "/set/auto-share",
                                    data: "env=facebook&"+ key + "=false&widgetSessionId=" + this.conf.pysid,
                                    onSuccess: function() {
                                            this.vr.dom.round.setAutoShare(key, false);
                                    }.bind(this),
                                    onFailure: function() {}
                            }).send();
                    }
            },
    // more code
    }

    Горе от ума. Хотя, на самом деле "от ума" тут спорно, человек дошел до того, чтобы научится пользоваться каким-то фреймворком, и даже пытался написать комментарий...

    wvxvw, 31 Марта 2011

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

    +122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    http://developers.face.com/docs/api/faces-detect/
    Обратите внимание:
    confirmed: false
    но
    value: "false"

    Душевно так, не? :)

    wvxvw, 23 Марта 2011

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