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

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

    +61

    1. 1
    std::cout << std::cout << "Hello, world";

    С гейдевчика, странно, что здесь не было.

    DlangGovno, 17 Апреля 2014

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

    +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
    // Will we have a result object instantiated? If not - we'll simply return TRUE
    if ($return_object !== TRUE) {
    	if ($this->cache_on === TRUE && $this->cache_autodel === TRUE && $this->_cache_init()) {
    		$this->CACHE->delete();
    	}
    	return TRUE;
    }
    
    // Return TRUE if we don't need to create a result object
    if ($return_object !== TRUE) {
    	return TRUE;
    }

    Codeigniter / классика
    https://github.com/EllisLab/CodeIgniter/blob/develop/system/database/DB_driver.php#L668

    Fike, 09 Апреля 2014

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

    +157

    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
    /**
         * Определение типа документа - Комплектация/Разукомплектация
         * @param $reverse
         * @return string
         */
        protected function get_reverse($reverse)
        {
            if(in_array($reverse, ['TRUE', 'true', true, 1, '1'], true)) {
                return 'TRUE';
            }
            if(in_array($reverse, ['FALSE', 'false', false, 0, '0', ''], true)) {
                return 'FALSE';
            }
        }

    Продолжение вот этого http://govnokod.ru/15643 кода придется делать

    smpl, 02 Апреля 2014

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

    +162

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

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

    TBoolean, 01 Апреля 2014

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

    −165

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

    maximilian6547s, 27 Марта 2014

    Комментарии (5)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
  11. Куча / Говнокод #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)