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

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include <iostream>
     
    void koko() { return throw "kook"; }
     
    int main() try {
    	koko();
    } catch(const char * e) {
    	std::cout << e;
    }

    когда никто не видит, throw возвращает void
    http://ideone.com/VDMPwE

    Xom94ok, 22 Декабря 2014

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

    +157

    1. 1
    2. 2
    if ( isset( $woo_options['woo_style_disable'] ) && $woo_options['woo_style_disable'] != 'true' ) {} else {
        if ( $output != '' ) { echo $output; }

    см. {} else {
    Приятная неожиданность, учитывая, что строка не помещается на экран.

    Код взят из темы Canvas для Вордпресса.

    KEKC, 15 Декабря 2014

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

    +167

    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
    95. 95
    96. 96
    if ($now_month == 1) {
    	array_push($months, 11);
    	array_push($months, 12);
    	array_push($months, 1);
    	array_push($years, ($now_year - 1));
    	array_push($years, ($now_year - 1));
    	array_push($years, $now_year);
    }
    if ($now_month == 2) {
    	array_push($months, 12);
    	array_push($months, 1);
    	array_push($months, 2);
    	array_push($years, ($now_year - 1));
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 3) {
    	array_push($months, 1);
    	array_push($months, 2);
    	array_push($months, 3);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 4) {
    	array_push($months, 2);
    	array_push($months, 3);
    	array_push($months, 4);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 5) {
    	array_push($months, 3);
    	array_push($months, 4);
    	array_push($months, 5);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 6) {
    	array_push($months, 4);
    	array_push($months, 5);
    	array_push($months, 6);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 7) {
    	array_push($months, 5);
    	array_push($months, 6);
    	array_push($months, 7);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 8) {
    	array_push($months, 6);
    	array_push($months, 7);
    	array_push($months, 8);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 9) {
    	array_push($months, 7);
    	array_push($months, 8);
    	array_push($months, 9);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 10) {
    	array_push($months, 8);
    	array_push($months, 9);
    	array_push($months, 10);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 11) {
    	array_push($months, 9);
    	array_push($months, 10);
    	array_push($months, 11);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }
    if ($now_month == 12) {
    	array_push($months, 10);
    	array_push($months, 11);
    	array_push($months, 12);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    	array_push($years, $now_year);
    }

    Я попросил показывать результаты за последние три месяца. Он так и сделал.

    sbbn, 14 Декабря 2014

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

    +156

    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
    //prepare ids
    $temp_char = "";
    $temp_id = "";
    $ids_array = array();
    
    for ($i = 0; $i < strlen($ids); $i ++) {
    	$temp_char = substr($ids, $i, 1);
    	
    	if ($temp_char != ",") {
    		$temp_id .= $temp_char;
    		
    		if ($i == (strlen($ids) - 1)) {
    			array_push($ids_array, $temp_id);
    			$temp_id = "";
    		}
    	} else {
    		array_push($ids_array, $temp_id);
    		$temp_id = "";
    	}
    }

    Распарсил строку с айдишниками, разделенными запятыми. Минут 15 точно потратил.

    sbbn, 14 Декабря 2014

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

    +70

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public static List<Defaulter> getDefaulterList() {
    	List<Defaulter> defaulters = new ArrayList<Defaulter>();
    
    	for (Map.Entry<Class<?>, Defaulter> defaulterEntry : hash.entrySet()) {
    		Defaulter def = defaulterEntry.getValue();
    		defaulters.add(def);
    	}
    
    	return defaulters;
    }

    Всё заменилось одной строкой:

    return new ArrayList<Defaulter>(hash.values());

    someone, 12 Декабря 2014

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

    +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
    15. 15
    16. 16
    //full video url
    define("VideoUrl","https://www.youtube.com/watch?v=XbGs_qK2PQA");
    //extract ID
    $videoID=get_youtube_id(VideoUrl);
    echo $videoID; // will output : XbGs_qK2PQA
    //extract function
    function get_youtube_id($url,$debug='N'){
      $res = parse_url($url);
      if($debug=='Y'){
        print_r($res);
      }
      $query = $res['query'];
      $explode = explode('&',$query);
      $explode2 = explode('=',$explode[0]);
      return $explode2[1];
    }

    http://www.youtubemp3pro.com/api/
    самый оптимальный код на извлечение id видео с тытуба

    samuel1ee, 10 Декабря 2014

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $AgencyID = $arrData['agency_id'];
                    if($AgencyID == $arrData['agency_id']) {
                       
                        get_offerts($xml);
                                                
                    }else {
                        
                        $title = "...
                        $msg = "...
                        ...

    rax, 10 Декабря 2014

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

    +160

    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
    var someThing = new Object({
        isVariant1: function() {
            return (this._type() == "var1") ? true : false;
        },
        isVariant2: function() {
            return (this._type() == "var2") ? true : false;
        },
        isVariant3: function() {
            return (this._type() == "var3") ? true : false;
        },
        isVariant4: function() {
            return ((this._type().indexOf("vvvar") >= 0)) ? true : false;
        }
    });

    Легаси код одного известного проекта.
    Все имена функций и содержимое строк изменены.

    pater, 09 Декабря 2014

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

    +162

    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
    public static function QFV($query_input, $row, $field_name, $linkname) 
    {
        $qres = self::Q($query_input, $linkname);
        $ret = self::FV($qres, $row, $field_name);
        self::FreeRes($qres);
        return $ret;
    }
    
    public static function QFA($query_input, $linkname) {
        $qres = self::Q($query_input, $linkname);
        $ret = self::FA($qres);
        self::FreeRes($qres);
        return $ret;
    }
    
    public static function QFO($query_input, $linkname) {
        $ret = NULL;
        $qres = self::Q($query_input, $linkname);
        if ($qres->result) {
            $ret = self::FO($qres);
            self::FreeRes($qres);
        }
        return $ret;
    }
    
    public static function QFOL($query_input, $num, $linkname) 
    {
        $ret = NULL;
        $qres = self::Q($query_input, $linkname);
        if ($qres) {
            $ret = self::FOL($qres, $num);
            self::FreeRes($qres);
        }
        return $ret;
    }
    
    public static function QFFF($query_input, $linkname) 
    {
        $qres = self::Q($query_input, $linkname);
        $res = self::FFF($qres);
        self::FreeRes($qres);
        return $res;
    }
    
    // И ещё несколько десятков безымянных функций без каких-либо комментариев

    Абстрактный слой работы с базой.

    Svistnul, 06 Декабря 2014

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

    −85

    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
    public static function getItemIndex(array: Object, item: Object): int
    {
    	var result: int = -1;
    
    	if (array is Array)
    		array = new ArrayCollection(array as Array);
    
    	if (array is ArrayCollection)
    	{
    		var collection: ArrayCollection = ArrayCollection(array);
    
    		result = collection.getItemIndex(item);
    
    	/*	if (result == -1 && item is IEquals)
    		{
    			for (var index: int = 0; index < collection.length; index++)
    			{
    				var obj: Object = collection.getItemAt(index);
    
    				if (obj == item || (obj is IEquals && IEquals(item).equals(IEquals(obj))))
    				{
    					result = index;
    					break;
    				}
    			}
    		}*/
    	}
    	return result;
    }

    Душа настойчиво требовала Яву, но под рукой ничего подходящего не оказалось.

    Для тех, кто не в курсе, это очередная попытка авторов супербиблиотеки изобрести Array.indexOf.

    wvxvw, 02 Декабря 2014

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