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

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #ifndef STDC
    #  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
    #    define const       /* note: need a more gentle solution here */
    #  endif
    #endif

    Совместимость

    Ccik, 22 Декабря 2014

    Комментарии (1)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
  11. 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)