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

    Всего: 16

  2. PHP / Говнокод #17604

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function StrToFloat($str) {
        if (strstr($str, ',')) {
            $i = explode(',', $str);
            $str = implode('.', $i);
            settype($str, 'float');
        }
        return $str;
    }

    kissarat, 09 Февраля 2015

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

    +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
    <?php
    /**
     * Округляет число до заданного количества знаков после запятой.
     * @param float $v	- округляемое число.
     * @param int $prec - количество знаков после запятой (по-умолчанию: 0).
     * @param str $mode - режим округления: ceil | floor | round (по-умолчанию: round).
     * @return float округлённое число.
     */
    function round2($v, $prec = 0, $mode = "round") {
    	for ($k = 1, $i = 0; $i < $prec; $i++, $k *= 10)
    		;
    	switch ($mode) {
    		case "ceil" : $v = ceil($k * $v) / $k;
    			break;
    		case "floor" : $v = floor($k * $v) / $k;
    			break;
    		default : $v = round($k * $v) / $k;
    	}
    
    	return $v;
    }

    kissarat, 24 Января 2015

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

    −119

    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
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    primitive_types = [
        str,
        int,
        float,
        bool,
        tuple,
        list,
        set,
        dict,
        complex
    ]
    
    
    def is_primitive(value):
        return value.__class__ in primitive_types
    
    
    def to_json(obj, deep_scan=False):
        json = dict()
        for name in dir(obj):
            # Skip private, protected and not serializable attributes
            not_serializable = (
                name.startswith('_') or
                not isinstance(getattr(type(obj), name, None), json_property)
            )
            if not_serializable:
                continue
            # Get value of current property
            value = getattr(obj, name)
            # It's primitive value or None
            if value is None or is_primitive(value):
                json[name] = value
            # It's date
            elif isinstance(value, (datetime, date)):
                if isinstance(value, date):
                    value = datetime.combine(value, datetime.min)
                json[name] = value.timestamp()
            # It's collection
            elif deep_scan and isinstance(value, List):
                json[name] = list()
                for item in value:
                    json_item = to_json(item)
                    if len(json_item):
                        json[name].append(json_item)
            # It's another object
            elif deep_scan:
                json[name] = to_json(value)
        return json

    Не в первый раз непонятные мысли автора. Но что он хотел сделать в строках 34-36 ко мне не дойдет. Может это просто опечатка

    kissarat, 13 Ноября 2014

    Комментарии (5)
  5. JavaScript / Говнокод #16906

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var component_prop = {};
    // create property array
    for (var i = 0; i < object_data.properties.length; i++) {
        component_prop[object_data.properties[i].name] = object_data.properties[i].value;
    }
    // convert property arrays to JSON object for parameters on component create
    component_prop = JSON.parse(JSON.stringify(component_prop));

    может кто-то понимает этот танец?

    kissarat, 22 Октября 2014

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

    +155

    1. 1
    Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];

    Реализация typeof

    kissarat, 15 Июля 2014

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var percent = 0;
    setInterval(function() {
        if(percent < 100) {
            percent += 10;
            showprogress(percent);
        }
    }, 50);

    Прогресс-бар асинхронной загрузки картинки

    kissarat, 30 Мая 2014

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