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

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <div style="position:relative">
    
    Всего товаров: 1<br />
    
    На сумму: 5 750,00
    
    
    
    </div>
    
    <script>$("#korzina").load("/korzina.php",{'fsdfsad':true});</script>

    Сей кодъ подгружается аяксом из скрипта /korzina.php в div#korzina. Естественно, тут же выполняется строчка номер 6, и онъ ещё раз подгружается. И ещё раз. И ещё раз...
    Долго думал, почему так тормозит браузер и почему по vnstat'у 64 кбит/с вверх и 24 вниз при простом просмотре страницы. Думаю, админ сервера (там стоит Apache, кеке) хотел бы удавить аффтара не меньше, чем я. Сайт в продакшне с марта.

    telnet, 20 Октября 2010

    Комментарии (26)
  3. JavaScript / Говнокод #4394

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function getAttrValue(element){
        if(element == undefined){
            return '';
        }
        return  element;
    }

    KiMindfreak, 19 Октября 2010

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

    +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
    function brows($str)
     {
    	if(strpos($str,'Googlebot')!==false)
    	{
    		return 'Googlebot';
    	}
    	elseif(strpos($str,'Yandex')!==false)
    	{
    		return 'Yandex';
    	}
    	elseif(strpos($str,'Opera')!==false)
    	{
    		return 'Opera';
    	}
    	elseif(strpos($str,'Firefox')!==false)
    	{
    		return 'Firefox';
    	}
    	elseif(strpos($str,'MSIE')!==false)
    	{
    		return 'MSIE';
    	}
    	elseif(strpos($str,'Chrome')!==false)
    	{
    		return 'Chrome';
    	}
    	elseif(strpos($str,'Yahoo')!==false)
    	{
    		return 'Yahoo';
    	}
    	else
    	{
    		return mysql_real_escape_string($str);	
    	}	
     }

    мне кажется тут явно что-то не чисто :D

    GoodTalkBot, 19 Октября 2010

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

    +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
    /*
        Макрос генерирует внутренности функции-заглушки OpenGL.
    */
    #define BWT_DECLARE_OPENGL_PROC_IMPL(PROC, PROC_TYPE, ...)                                  \
        static PROC_TYPE _##PROC = 0;                                                           \
                                                                                                \
        if (_##PROC)                                                                            \
            return _##PROC(__VA_ARGS__);                                                        \
        else                                                                                    \
        {                                                                                       \
            _##PROC = TryToGetProcAddress<PROC_TYPE>(#PROC);    return _##PROC(__VA_ARGS__);    \
        }
    
    /*
        Функция получает адрес функции, или возбуждает исключение, если адрес получить не удалось.
    */
    template<typename proc_type>
    proc_type TryToGetProcAddress(const char *proc_name) throw(error_type<VIDEO>)
    {
        proc_type address = reinterpret_cast<proc_type>(::SDL_GL_GetProcAddress(proc_name));
    
        if (!address)
            BWT_THROW_VIDEO_ERROR(UNDEFINED_ERROR, "OpenGL version does not supported");
    
        return address;
    }
    
    GLAPI void APIENTRY glCullFace (GLenum mode)
    {
        BWT_DECLARE_OPENGL_PROC_IMPL(glCullFace, PFNGLCULLFACEPROC, mode);
    }
    
    ...

    ZltCity, 15 Октября 2010

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

    +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
    // Функция изменяет поле счетчика у объекта
    // $table - таблица с изменяемыми данными
    // $where - условия для отсеивания значений
    // $coll - ячейка, которая содержит счетчик
    // $val - значение, которое нужно прибавить к исходному
    function CalcCounter($table, $where, $coll, $val) {
    	global $db;
    	$db->Select($table, $where);
    	if($db->NumRows()>0){
    		$val = $db->QueryResult[0][$coll] + $val;
    		$db->Update($table,"$coll='$val'",$where);
    	}
    }

    Из ядра одной русской CMS...

    Мартин, 15 Октября 2010

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

    +162

    1. 1
    2. 2
    3. 3
    if ((int)$id == '') {
            throw new Engine_Exception('Нверный идентификатор организации', 403);
    }

    O_o а это когда-нибудь сработает :)

    lstaticl, 08 Октября 2010

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $db->query ( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
    	
    	while ( $row = $db->get_row () ) {
    		
    		$user_group[$row['id']] = array ();
    		
    		foreach ( $row as $key => $value ) {
    			$user_group[$row['id']][$key] = $value;
    		}
    	
    	}

    До сих пор не могу понять смысл вложенного цикла..

    stpkys, 20 Сентября 2010

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

    +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
    if ( ! function_exists('days_in_month'))
    {
    	function days_in_month($month = 0, $year = '')
    	{
    		if ($month < 1 OR $month > 12)
    		{
    			return 0;
    		}
    	
    		if ( ! is_numeric($year) OR strlen($year) != 4)
    		{
    			$year = date('Y');
    		}
    	
    		if ($month == 2)
    		{
    			if ($year % 400 == 0 OR ($year % 4 == 0 AND $year % 100 != 0))
    			{
    				return 29;
    			}
    		}
    
    		$days_in_month	= array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    		return $days_in_month[$month - 1];
    	}
    }

    разработчики CodeIgniter не ищут лёгких путей
    date('t')

    DrFreez, 19 Сентября 2010

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    foreach ($this->info as $attr)
    {
        $nextAttr = next($this->info);
        prev($this->info);
        if ($attr['attrGroupID'] != $group)
        {
            if ($group != 0) echo '</table>';
            echo '<h3>'.$attr['attrName'].'</h3><table>';
        }
        $group = $attr['attrGroupID'];
    }

    comrade42, 14 Сентября 2010

    Комментарии (6)
  11. C++ / Говнокод #4193

    +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
    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
    int main(int argc, char* argv[])
    {
    // Массив русских букв:
            char c[33], s[33];
    // Заглавные буквы:
            c[0] = 0x80; // А
            c[1] = 0x81; // Б
            c[2] = 0x82; // В
            c[3] = 0x83; // Г
            c[4] = 0x84; // Д
            c[5] = 0x85; // Е
            c[6] = 0x86; // Ж
            c[7] = 0x87; // З
            c[8] = 0x88; // И
            c[9] = 0x89; // Й
            c[10] = 0x8A; // К
            c[11] = 0x8B; // Л
            c[12] = 0x8C; // М
            c[13] = 0x8D; // Н
            c[14] = 0x8E; // О
            c[15] = 0x8F; // П
            c[16] = 0x90; // Р
            c[17] = 0x91; // С
            c[18] = 0x92; // Т
            c[19] = 0x93; // У
            c[20] = 0x94; // Ф
            c[21] = 0x95; // Х
            c[22] = 0x96; // Ц
            c[23] = 0x97; // Ч
            c[24] = 0x98; // Ш
            c[25] = 0x99; // Щ
            c[26] = 0x9A; // Ъ
            c[27] = 0x9B; // Ы
            c[28] = 0x9C; // Ь
            c[29] = 0x9D; // Э
            c[30] = 0x9E; // Ю
            c[31] = 0x9F; // Я
            c[32] = 0xF0; // Ё
    // Прописные буквы:
            s[0] = 0xA0; // а
            s[1] = 0xA1; // б
            s[2] = 0xA2; // в
            s[3] = 0xA3; // г
            s[4] = 0xA4; // д
            s[5] = 0xA5; // е
            s[6] = 0xA6; // ж
            s[7] = 0xA7; // з
            s[8] = 0xA8; // и
            s[9] = 0xA9; // й
            s[10] = 0xAA; // к
            s[11] = 0xAB; // л
            s[12] = 0xAC; // м
            s[13] = 0xAD; // н
            s[14] = 0xAE; // о
            s[15] = 0xAF; // п
            s[16] = 0xE0; // р
            s[17] = 0xE1; // с
            s[18] = 0xE2; // т
            s[19] = 0xE3; // у
            s[20] = 0xE4; // ф
            s[21] = 0xE5; // х
            s[22] = 0xE6; // ц
            s[23] = 0xE7; // ч
            s[24] = 0xE8; // ш
            s[25] = 0xE9; // щ
            s[26] = 0xEA; // ъ
            s[27] = 0xEB; // ы
            s[28] = 0xEC; // ь
            s[29] = 0xED; // э
            s[30] = 0xEE; // ю
            s[31] = 0xEF; // я
            s[32] = 0xF1; // ё
    // Конец массива.
    
            cout << c[21] << s[14] << "-" << s[21] << s[14] << "!\n"; // Хо-хо!
    
            getch();
            return 0;
    }

    Когда я ещё не знал, как выводить в консоли русские буквы, спел и натанцевал индийский код.

    novemberdreamer, 08 Сентября 2010

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