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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
  11. Си / Говнокод #17231

    +132

    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
    bool bitmap_to_24bit_string(bitmap *bmp, char **str, uint32_t *len)
    {
        if (!bmp || !bmp->pixels)
        return false;
        int I, J;
        uint32_t size = ((bmp->width * 24 + 31) / 32) * 4 * bmp->height;
        rgb24 *pixels = malloc(size);
        if (pixels)
        {
            for (I = 0; I < bmp->height; ++I)
            {
                for (J = 0; J < bmp->width; ++J)
                {
                    pixels[I * bmp->width + J].b = bmp->pixels[I * bmp->width + J].r;
                    pixels[I * bmp->width + J].g = bmp->pixels[I * bmp->width + J].g;
                    pixels[I * bmp->width + J].r = bmp->pixels[I * bmp->width + J].b;
                }
            }
            uint32_t destlen = compressBound(size);
            *str = malloc(destlen);
            if (*str)
            {
                if (compress((Bytef *)*str, (uLongf *)&destlen, (Bytef *)pixels, size) == Z_OK)
                {
                    free(pixels);
                    pixels = NULL;
                    char *b64str;
                    uint32_t b64_len;
                    if (base64encode((const uint8_t *)*str, destlen, &b64str, &b64_len))
                    {
                        free(*str);
                        *str = b64str;
                        *len = b64_len + 2;
                        b64str = malloc(*len);
                        if (b64str)
                        {
                            b64str[0] = 'm';
                            strncpy(&b64str[1], *str, b64_len);
                            free(*str);
                            *str = b64str;
                            (*str)[b64_len + 1] = '';
                            return true;
                        }
                    }
                }
                free(*str);
                *len = 0;
                *str = NULL;
            }
            free(pixels);
        }
        return false;
    }

    Ещё подкину в общую копилку

    Cynicrus, 01 Декабря 2014

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