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

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

    +162

    1. 1
    $arOrders[$arDetail['PROPERTIES']['YC_ORDER']['VALUE']]['ORDER_DETAILS'][$arDetail['PROPERTIES']['YC_CITY']['VALUE']][] = $arDetail['ID'];

    Черный пояс по заполнению массивов

    TBoolean, 01 Апреля 2014

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

    −165

    1. 1
    2. 2
    ...
    Возврат ?(НЕ Запрос.Выполнить().Пустой(),Истина,Ложь);

    maximilian6547s, 27 Марта 2014

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

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void ConvertingExpressions()
    
    {
    
    float.TryParse(transform.position.x.ToString(), out x);
    
    float.TryParse(transform.position.y.ToString(), out y);
    
    float.TryParse(transform.position.z.ToString(), out z);
    
    }

    Я просто искал решение проблем и нашел это:
    http://itech.do.am/publ/7-1-0-58

    yegorf1, 27 Марта 2014

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

    +74

    1. 1
    2. 2
    3. 3
    Logger.getLogger(OriginReaderImpl.class).error("somebody calls reading origins without filtering",
        new RuntimeException());
    return Cf.newArrayList();

    У меня был когнитивный диссонанс: в логах стектрейсы, а транзакция успешно завершена.

    П.С. Код переформатирован так, чтобы вызов конструктора исключения не вылезал за границы экрана.

    roman-kashitsyn, 26 Марта 2014

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

    +152

    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
    <?php
    //Скрипт рассчета времени.
    if (!empty($_POST["from_hours"])) { $from_hours = $_POST["from_hours"]; } else { unset($_POST["from_hours"]); }
    if (!empty($_POST["from_minutes"])) { $from_minutes = $_POST["from_minutes"]; } else { unset($_POST["from_minutes"]); }
    if (!empty($_POST["from_seconds"])) { $from_seconds = $_POST["from_seconds"]; } else { unset($_POST["from_seconds"]); }
    if (!empty($_POST["from_month"])) { $from_month = $_POST["from_month"]; } else { unset($_POST["from_month"]); }
    if (!empty($_POST["from_day"])) { $from_day = $_POST["from_day"]; } else { unset($_POST["from_day"]); }
    if (!empty($_POST["from_year"])) { $from_year = $_POST["from_year"]; } else { unset($_POST["from_year"]); }
    
    if (!empty($_POST["to_hours"])) { $to_hours = $_POST["to_hours"]; } else { unset($_POST["to_hours"]); }
    if (!empty($_POST["to_minutes"])) { $to_minutes = $_POST["to_minutes"]; } else { unset($_POST["to_minutes"]); }
    if (!empty($_POST["to_seconds"])) { $to_seconds = $_POST["to_seconds"]; } else { unset($_POST["to_seconds"]); }
    if (!empty($_POST["to_month"])) { $to_month = $_POST["to_month"]; } else { unset($_POST["to_month"]); }
    if (!empty($_POST["to_day"])) { $to_day = $_POST["to_day"]; } else { unset($_POST["to_day"]); }
    if (!empty($_POST["to_year"])) { $to_year = $_POST["to_year"]; } else { unset($_POST["to_year"]); }
    
    $time = mktime($to_hours,$to_minutes,$to_seconds,$to_month,$to_day,$to_year) - mktime($from_hours,$from_minutes,$from_seconds,$from_month,$from_day,$from_year);
    
    	if (!empty($time)) {
    		echo 
    		"От $from_month/$from_day/$from_year $from_hours:$from_minutes:$from_seconds
    		<br>До $to_month/$to_day/$to_year $to_hours:$to_minutes:$to_seconds
    		<br>Секунд: $time
    		<br>Минут: ",$time/60,"
    		<br>Часов: ",$time/60/60,"
    		<br>Дней: ",$time/60/60/24,"
    		<br>Недель: ",$time/60/60/24/365*12*4,"
    		<br>Месяцев: ",$time/60/60/24/365*12,"
    		<br>Лет: ",$time/60/60/24/365;
    	}
    	else {
    		echo "<h2>Введите данные для расчета</h2>";
    	}
    ?>
    
    <!DOCTYPE html>
    <html>
    <head>
    	<title>Сколько времени пройдет от и до</title>
    </head>
    <body>
    <p>Сколько времени от:</p>
    <form method="post" target="_blank" action="date.php">
    	<input type="text" name="from_year">	Год<br>
    	<input type="text" name="from_month">	Месяц<br>
    	<input type="text" name="from_day">	День<br>
    	<input type="text" name="from_hours">	Час<br>
    	<input type="text" name="from_minutes">	Минут<br>
    	<input type="text" name="from_seconds">	Секунд<br>
    <p>Сколько времени до:</p>
    	<input type="text" name="to_year">	Год<br>
    	<input type="text" name="to_month">	Месяц<br>
    	<input type="text" name="to_day">	День<br>
    	<input type="text" name="to_hours">	Час<br>
    	<input type="text" name="to_minutes">	Минут<br>
    	<input type="text" name="to_seconds">	Секунд<br>
    	<input type="submit" value="Рассчитать">
    </form>
    <p>* Заполнять все поля не объязательно.</p>
    </body>
    </html>

    Скрипт расчета времени от и до.
    Как бы улучшить этот говнокод на php?

    Arthur, 11 Марта 2014

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    List<DataContainer> dataContainers = w2pService.startProcess(type, id, locale.replaceAll("-", "_"), clientToken);
    			
    //prevent memory leak
    if(dataContainers != null){
        dataContainers.clear();
        dataContainers = null;
    }

    Насоздавал - предоврати за собой.

    pingw33n, 06 Марта 2014

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

    +127

    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
    import Data.List
    import Data.Maybe
    checkBraces "" = True
    checkBraces e = checkBrace e [] where
    	openBraces = "({["
    	closeBraces = ")}]"
    	braceToBrace fromBraces toBraces brace = toBraces!!(fromJust $ elemIndex brace fromBraces)
    	otcBrace = braceToBrace openBraces closeBraces
    	checkBrace (c:e) s | elem c openBraces = checkBrace e ((otcBrace c):s)
    	checkBrace (c:e) (h:s) | (elem c closeBraces) && (h==c) = checkBrace e s
    	checkBrace (_:e) _ = False
    	checkBrace [] [] = True
    	checkBrace [] _ = False
    main = mapM_ (print . checkBraces) bracesExpressionExamples where
    	bracesExpressionExamples = 
    		[
    			"({[{}]{}[]})",
    			"({}}{[{}]{}[]})",
    			"({[{}]{}[]}",
    			"({[{}]{}]})",
    			"({[{}{}[]})",
    			"",
    			"{}"
    		]

    http://ideone.com/sZ9tiN
    Кот с собеседований.
    Проверка правильности расстановки скобок для каждого выражения из bracesExpressionExamples.

    USB, 05 Марта 2014

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

    +139

    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
    foreach (sp_GetPropertiesAffiliateResult paf in PropertiesAffiliate)
                {
    ...
     phConfigAffiliate.Controls.Add(new LiteralControl("<tr>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<td><strong>"));
                    phConfigAffiliate.Controls.Add(litPropertyId);
                    phConfigAffiliate.Controls.Add(new LiteralControl("</strong></td>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<td><strong>"));
                    phConfigAffiliate.Controls.Add(litPropertyName);
                    phConfigAffiliate.Controls.Add(new LiteralControl("</strong></td>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<td>"));
                    phConfigAffiliate.Controls.Add(txtPropertyCode);
                    phConfigAffiliate.Controls.Add(rfvTxtPropertyCode);
                    phConfigAffiliate.Controls.Add(new LiteralControl("</td>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<td>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl(@"<table cellpadding=""2"" cellspacing=""2"" border=""0"">"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<tr>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl(@"<td style=""border: 0px;"">"));
    
    ....
    }

    brusini, 05 Марта 2014

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

    −95

    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
    # ~*~ coding: utf8 ~*~
    
    def clear_string(str, to_int = None):
        '''
        Чистим строку от "мусора" - нечисловых символов.
        '''
        new_str = ''
        for s in str:
            # сначала ищем точку (вдруг число с плавающей точкой)
            # при этом в новой строке не должно быть больше одной точки
            # и в условии to_int не определен
            if s == '.' and '.' not in new_str and not to_int:
                new_str += s
            else:
                try:
                    i = int(s)
                    new_str += s
                except:
                    pass
        return new_str
    
    def str_to_int(str):
        '''
        Преобразование стоки в целое число
        '''
        # попробуем воспользоваться самым простым методом
        try:
            return int(str)
        except:
            # если не получилось, то проверяем почему? допускаем, что было передано не целое число в строке
            if '.' in str:
                str = str[0:str.find('.')]
                return str_to_int(str)
            else:
                # если уж совсем дела плохи, то возвращаем 0
                return 0
    
    def check_int(str):
        try:
            int(str)
            return True
        except:
            return False
    
    def str_to_float(str):
        '''
        Преобразование стоки в число с плавающей точкой
        '''
        # попробуем воспользоваться самым простым методом
        try:
            return float(str)
        except:
            # других вариантов не осталось. скорее всего функция приняла на входе мусор
            return 0
    
    def check_float(str):
        try:
            float(str)
            return True
        except:
            return False
    
    # есть у нас незатейливая строка
    str = 'a23d.d.5ff6'
    # проверяем функцию чистки строки
    print('Чищеная строка: %s' % clear_string(str))
    print('Чищеная строка с to_int: %s' % clear_string(str, to_int=True))
    # до преобразования строки в число следовало бы почистить ее
    print('Преобразуем мусор в целое число: %s' % str_to_int(str))
    print('Преобразуем чищеную строку в целое число: %s' % str_to_int(clear_string(str)))
    # преобразуем строку в число с плавающей точкой
    print('Преобразуем мусор в число с плавающей точкой: %s' % str_to_float(str))
    print('Преобразуем чищеную строку в число с плавающей точкой: %s' % str_to_float(clear_string(str)))
    
    print('Проверяем, является ли содержимое строки целочисленным: %s' % check_int(str))
    print('Проверяем, является ли содержимое чищеной строки целочисленным: %s' % check_int(clear_string(str, to_int=True)))
    print('Проверяем, является ли содержимое строки числом с плавающей точкой: %s' % check_float(str))
    print('Проверяем, является ли содержимое чищеной строки числом с плавающей точкой: %s' % check_float(clear_string(str)))

    http://www.haikson.com/blogs/hektor/programming/python/python-preobrazovanie-stroki-v-chislo/

    v0ffka, 03 Марта 2014

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

    +182

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if($valuta=='rur') {
    	$rate = "RUR";
    } else {
    	$rate = strtoupper($valuta);
    }

    draug, 27 Февраля 2014

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