1. Objective C / Говнокод #18104

    −401

    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
    - (void) doSomething {
        <...>
        if (error.code != NSURLErrorNotConnectedToInternet && error.code != NSURLErrorCancelled && error.code != NSURLErrorTimedOut) {
            @synchronized (self.failedURLs) {
                
                {
                    // javascript-style...
                    char* xcEnv = getenv("XcodeColors");
                    BOOL useColors = (xcEnv && !strcmp(xcEnv, "YES"));
                    NSString *colorWrapper;
                    if (useColors)
                        colorWrapper = @"\033[fg0,153,0;%@\033[;";
                    else
                        colorWrapper = @"%@";
    
                    void (^colorLog)(NSString *format, ...) = ^(NSString *format, ...)
                    {
                        va_list args;
                        va_start(args, format);
                        NSLog(colorWrapper, [[NSString alloc] initWithFormat:format arguments:args]);
                        va_end(args);
                    };
                    
                    colorLog(@"SDWebImageManager download failed");
                    colorLog(@"\turl: %@", url.absoluteString);
                    colorLog(@"\terror: %@", [error description]);
                }
                
                
                [self.failedURLs addObject:url];
            }
        }
        <...>
    }

    Когда очень хочется извратиться

    krypt, 01 Мая 2015

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

    +141

    1. 1
    $time = htmlspecialchars(addslashes(time()));

    Паранойя...

    SToRm1k, 01 Мая 2015

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

    +143

    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
    $citys = $this->modelsManager->executeQuery("SELECT * FROM city");
    		$filters = $this->modelsManager->executeQuery("SELECT * FROM carfilter");
    		
    		$partners = $this->modelsManager->executeQuery("SELECT id,city_id,email FROM Partner");
    		$to = array();
    		
    		foreach($partners as $partner){								//Пробегаем по всем партнёрам
    
    			$city_config = unserialize($partner->city_id); 			//берём конфиги по городам	
    
    				
    				if(in_array($city, $city_config)){					//если партнёр работает в этом городе
    	
    					foreach($filters as $filter){					//Проходимся по фильтрам
    						if($partner->id == $filter->partner){		//Находим фильтр, принадлежащий партнёру					
    							if ($filter->consern_id == 1 && $filter->model_id == 1){		//если конфиг все модели/марки то 
    								$to[] = array('email'=>$partner->email);					//сразу записываем в список рассылки
    							}else{
    								if($filter->consern_id == $this->request->getPost("consern", "int") && $filter->model_id == $this->request->getPost("model_id", "int")){    //иначе если данные из заявки соответствуют фильтру, то
    									$to[] = array('email'=>$partner->email);	//заносим его в список рассылок.	
    								}
    								
    							}
    														
    						}
    						
    					}
    					
    	
    				}
    	
    		}

    Реализация фильтра от новичка.
    Сначала у него вообще был запрос к БД в цикле по $filters, тем самым он генерировал за раз больше 5к запросов :\

    romaz, 01 Мая 2015

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

    +142

    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
    'use strict';
    
    var menuContainers = document.getElementsByClassName('menu__container');
    
    for (var i = 0; i < menuContainers.length; i++) {
      menuContainers[i].getElementsByClassName('menu__current')[0].setAttribute('onclick', 'menuOpen(' + i + ')');
    }
    
    //Changing visibility all elements of menu
    
    function menuOpen(i) {
      menuContainers[i].getElementsByClassName('menu__item')[0].classList.toggle('menu__item--visible');
      menuContainers[i].getElementsByClassName('menu__item')[1].classList.toggle('menu__item--visible');
      menuContainers[i].getElementsByClassName('menu__item')[2].classList.toggle('menu__item--visible');
      menuContainers[i].getElementsByClassName('menu__item')[3].classList.toggle('menu__item--visible');
    }

    serhii, 30 Апреля 2015

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

    +141

    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
    @ResponseBody
    public String paymentFeedback(@RequestBody MultiValueMap<String, String> requestParameters, @RequestBody String requestBody) {
        boolean isValidRequest = myService.hasRequestValidSHASign(requestParameters);
        if (isValidRequest) {
            String voucherNumber = findParameter(requestParameters, ORDERID_PARAMETER);
            if (!StringUtils.isEmpty(voucherNumber)) {
                Order order = orderService.getOrderByVoucherNumber(voucherNumber);
                if (order != null) {
                    String status = findParameter(requestParameters, STATUS_PARAMETER);
                    if (ACCEPT_STATUS_VALUES.contains(status)) {
                        updateOrderWithPaymentStatus(order, Status.PAID, requestParameters);
                        orderService.sendEmail(order);
                        orderService.sell(order);
                    } else if (CANCELLED_STATUS_VALUE.equals(status)) {
                        updateOrderWithPaymentStatus(order, Status.CANCELLED, requestParameters);
                    } else if (DECLINE_STATUS_VALUES.contains(status)) {
                        updateOrderWithPaymentStatus(order, Status.DECLINED, requestParameters);
                    } else if (EXCEPTION_STATUS_VALUES.contains(status)) {
                        updateOrderWithPaymentStatus(order, Status.EXCEPTION, requestParameters);
                    } else {
                        logger.warn("Order ID={} got strange status: {}. Ignoring that feedback...", voucherNumber, status);
                    }
                } else {
                    throw new IllegalArgumentException("Can't find voucher with orderID from feedback: " + voucherNumber);
                }
            } else {
                throw new IllegalArgumentException("Received feedback with missing orderID: " + requestBody);
            }
        } else {
            throw new IllegalArgumentException("Received feedback with invalid SHA sign: " + requestBody);
        }
        
        return "";
    }

    pingw33n, 30 Апреля 2015

    Комментарии (1)
  6. C# / Говнокод #18098

    +147

    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
    public static void Unsubscribe
    <
    	T1,		T2,		T3,		T4,
    	T5,		T6,		T7,		T8,
    	T9,		T10,		T11,		T12,
    	T13,		T14,		T15,		T16
    >
    (
    	TKey eventKey,
    	Action
    	<
    		T1,		T2,		T3,		T4,
    		T5,		T6,		T7,		T8,
    		T9,		T10,		T11,		T12,
    		T13,		T14,		T15,		T16
    	> handler
    )
    { handlers[eventKey] -= handler; }

    Боль.

    pushistayapodmyshka, 30 Апреля 2015

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

    +144

    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
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    function Calculation(a, b, op){
        if (typeof a == "number" && typeof (b) == "number"){
            var result;
            +a; +b;
            if (op == "+")  { result = a+b; alert(result);
            } else if (op == "-") { result = a-b; alert(result);
            } else if (op == "*"){ result = a*b; alert(result);
            } else if (op == "/"){
                if (b!=0){ 
                    result = a/b; alert(result);
                } else {
                    alert("Can`t divide on zero!");
                }
            }
        } else if (a instanceof Array && b instanceof Array) {
            var result = [];
            if ( a.length >= b.length ){
                length = a.length;
                for (var i=0; i < length; i++){
                    a[i] = parseFloat(a[i]);
                    b[i] = parseFloat(b[i]);
                    if (i < b.length-1){
                        if (op == "+"){ result[i] = a[i]+b[i];
                        } else if (op == "-"){ result[i] = a[i]-b[i];
                        } else if (op == "*"){ result[i] = a[i]*b[i];
                        } else if (op == "/"){
                            if (b[i]!=0){
                                result[i] = a[i]/b[i];
                            } else {
                                alert("Can`t divide on zero!");
                            }
                        }
                    } else {
                        result[i] = a[i];
                    }
                } 
                alert(result.join("  |  "));
            } else {
                length = b.length;
                for (var i=0; i < length; i++){
                    +a[i]; +b[i];
                    if (i < a.length-1){
                        switch (op){
                            case "+":
                                result[i] = a[i]+b[i];
                                break;
                            case "-":
                                result[i] = a[i]+b[i];
                                break;
                            case "*":
                                result[i] = a[i]+b[i];
                                break;
                            case "/":
                                if (b[i]!=0){
                                    result[i] = a[i]/b[i];
                                } else {
                                    alert("Can`t divide on zero!");
                                }
                                break;
                        }
                    } else {
                        result[i] = a[i];
                    }
                } 
                alert(result.join("  |  "));
            }
        } else if (a instanceof Object && b instanceof Object) {
            var tempObject = {};
                switch (op){
                    case "+":
                        tempObject.resultA = a.a+b.a;
                        tempObject.resultB = a.b+b.b;
                        break;
                    case "-":
                        tempObject.resultA = a.a+b.a;
                        tempObject.resultB = a.b+b.b;
                        break;
                    case "*":
                        tempObject.resultA = a.a+b.a;
                        tempObject.resultB = a.b+b.b;
                        break;
                    case "/":
                        if (b.b !=0 || b.a != 0){
                            tempObject.resultA = a.a+b.a;
                            tempObject.resultB = a.b+b.b;
                        } else {
                            alert("Can`t divide on zero!");
                        }
                        break;
                }
                
                alert(tempObject.resultA + " " + tempObject.resultB);
        }
    }

    Вот такой вот калькулятор!

    alexhelkar, 30 Апреля 2015

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

    −118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    def get_a():
        print("Hello goblin")
        return get_a
    
    get_a()()()()()()()()()()()()()

    Осталось понять зачем

    greenx, 30 Апреля 2015

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(!$this->_login()){
                
                sleep(mt_rand(60, 90));
                $this->_reLogin();
                return;
    }

    Такое чудо мне передали от другой команды разработчиков

    Granes, 30 Апреля 2015

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var returnValue = false;
    
    bool result = doSomething();
    if (!result)
    {
    return returnValue;
    }
    
    returnValue = true;
    return returnValue;

    kuznetps, 30 Апреля 2015

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