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

    В номинации:
    За время:
  2. Куча / Говнокод #6743

    +134

    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
    -module(common_io).
    -export([read_utf8/2, default_fallback/1]).
    
    default_fallback(<<Data>>)->
        erlang:display(Data).
    
    read_utf8(Collected, <<Utf8Char/utf8>>, _CallAfter)->
        lists:append(Collected, [Utf8Char]);
    read_utf8(Collected, <<Utf8Char/utf8, Data/binary>>, CallAfter)->
        lists:append([Collected, [Utf8Char], read_utf8(Data, CallAfter)]);
    read_utf8(Collected, <<Data/binary>>, CallAfter)->
        CallAfter(Data),
        Collected;
    read_utf8(Collected, <<>>, _CallAfter)->
        Collected.
    
    read_utf8(<<>>, _CallAfter)->
        [];
    read_utf8(<<Utf8Char/utf8>>, _CallAfter)->
        [Utf8Char];
    read_utf8(<<Data/binary>>, CallAfter)->
        read_utf8([], Data, CallAfter).

    Первый раз в жизни пишу что-то на Эрланге. Чует сердце, что что-то тут не так...

    wvxvw, 24 Мая 2011

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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    <h1 style="padding: 0" class="PageName">Информация для пассажира</h1>
    
    <div class="cont"><!-- p><b>Уважаемые пользователи!<br /></b>Извините, сервис продажи билетов временно приостановлен - на сервере проводятся регламентные работы. Попробуйте зайти позднее или приобрести билеты в кассах.</p>
    <hr / -->

    Продолжая тему РЖД

    Uchkuma, 19 Мая 2011

    Комментарии (8)
  4. Куча / Говнокод #6686

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    /* CSS */
    .module-blk dd a strong {
        font-weight: normal;
    }

    ploginoff, 17 Мая 2011

    Комментарии (25)
  5. Куча / Говнокод #6538

    +134

    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
    function ()	
            local res = false
    
    	for j = 1, hE do
    		if () then
    		elseif () or () then
    		elseif () or () then
    		else
    			res = true
    		end
    	end
    	if not res then
    		return res
    	end
    	return true
    end

    Код взят из миниигры в разрабатываемой казуалке.
    Первое непонятно накуя выпендриваться с кучей условий с пустыми телами, если результат получим только в одном случае.
    Второе вообще убивает: накуя танцы с переменной res в конце тела ф-ции?

    MAGnit, 04 Мая 2011

    Комментарии (44)
  6. Куча / Говнокод #6340

    +134

    1. 1
    2. 2
    <span id="chap">490</span>
    <img src="ch.php" style="margin-left:-5px;"> 23  </div>

    Вебкилловская капча. Это круто.
    В действии: http://webkill.ru/news/index.php?id=1
    Кстати, дизайн нравится, видно, что парень рисовать умеет.

    7ion, 13 Апреля 2011

    Комментарии (11)
  7. Си / Говнокод #6241

    +134

    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
    97. 97
    98. 98
    99. 99
    int _Mbtowcx(wchar_t *pwc, const char *s, size_t nin, mbstate_t *pst, _Statab *pmbstate)
    	char state = (char)pst->_State;
    	unsigned char *su = (unsigned char *)s;
    	wchar_t wc = (wchar_t)pst->_Wchar;
    	static const mbstate_t initial = {0};
    
    	if (pmbstate->_Tab[0] == 0)	{	/* no table, convert from UTF8 */
    		if (s == 0)
    			{	/* set initial state */
    			*pst = initial;
    			return (0);
    			}
    
    		for (; ; ++su, --nin) {	/* consume an input byte */
    			if (nin == 0) {	/* report incomplete conversion */
    				pst->_Wchar = wc;
    				pst->_State = state;
    				return (-2);
    				}
    			else if (0 < state)	{	/* fold in a successor byte */
    				if ((*su & 0xc0) != 0x80) {	/* report invalid sequence */
    					errno = EILSEQ;
    					return (-1);
    					}
    				wc = (wchar_t)((wc << 6) | (*su & 0x3f));
    				--state;
    				}
    			else if ((*su & 0x80) == 0)
    				wc = *su;	/* consume a single byte */
    			else if ((*su & 0xe0) == 0xc0)	{	/* consume first of two bytes */
    				wc = (wchar_t)(*su & 0x1f);
    				state = 1;
    				}
    			else if ((*su & 0xf0) == 0xe0)	{	/* consume first of three bytes */
    				wc = (wchar_t)(*su & 0x0f);
    				state = 2;
    				}
    
    			else{	/* report invalid sequence */
    				errno = EILSEQ;
    				return (-1);
    				}
    			if (state == 0)	{	/* produce an output wchar */
    				if (pwc != 0)
    					*pwc = wc;
    				pst->_State = 0;
    				return (wc == 0 ? 0 : (const char *)++su - s);
    				}
    			}
    
    		}
    	else
    		{	/* run finite state machine */
    		int limit = 0;
    
    		if (s == 0)	{	/* set initial state */
    			*pst = initial;
    			return (pmbstate->_Tab[0][0] & _ST_STATE);
    			}
    
    		for (; ; )	{	/* perform a state transformation */
    			unsigned short code;
    			const unsigned short *stab;
    
    			if (nin == 0)
    				{	/* report incomplete conversion */
    				pst->_Wchar = wc;
    				pst->_State = state;
    				return (-2);
    				}
    			else if (_NSTATE <= state
    				|| (stab = pmbstate->_Tab[state]) == 0
    				|| (_NSTATE*UCHAR_MAX) <= ++limit
    				|| (code = stab[*su]) == 0)
    				{	/* report invalid sequence */
    				errno = EILSEQ;
    				return (-1);
    				}
    			state = (char)((code & _ST_STATE) >> _ST_STOFF);
    			if (code & _ST_FOLD)
    				wc = (wchar_t)(wc & ~UCHAR_MAX | code & _ST_CH);
    			if (code & _ST_ROTATE)
    				wc = (wchar_t)(wc << CHAR_BIT | UCHAR_MAX
    					& wc >> CHAR_BIT * (sizeof (wchar_t) - 1));
    			if (code & _ST_INPUT && *su != '\0')
    				++su, --nin, limit = 0;
    			if (code & _ST_OUTPUT)
    				{	/* produce an output wchar */
    				int nused = (const char *)su - s;
    
    				if (pwc)
    					*pwc = wc;
    				pst->_Wchar = wc;
    				pst->_State = state;
    				return (wc == 0 ? 0 : nused == 0 ? -3 : nused);
    				}
    			}
    		}
    	}

    Долго не мог понять почему не работает
    setlocale(...);
    _setmbcp(...);
    mbtowc(...);

    на C++ Builder. Пока не заглянул в исходники.

    sanchousf, 05 Апреля 2011

    Комментарии (17)
  8. C# / Говнокод #6102

    +134

    1. 1
    string relativedir = Directory.GetParent(Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory()).ToString()).ToString()).ToString()+@"\Webapplication2\App_Data\";

    ссылка на базу данных в другой папке

    oldnavy1989, 27 Марта 2011

    Комментарии (57)
  9. C# / Говнокод #6066

    +134

    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
    /// <summary>
            /// попытка парсинга потока в bool {true,false,1,0} поддерживатеся любой регистр 
            /// </summary>
            /// <param name="lpwcstr">указатель текущую позицию потока</param>
            /// <param name="result">результат</param>
            /// <returns>см. ParseSucces</returns>
            static public ParseSuccess TryParse(ref char* lpwcstr, out bool result)
            {
                char* cur = lpwcstr;
            to_begin:
                switch (*cur++)
                {
                    case ' ':
                    case '\t':
                    case '\n':
                    case '\r':goto to_begin;
                    case '0': lpwcstr = cur; goto to_fail;
                    case '1': lpwcstr = cur; result = true; return ParseSuccess.Success;
                    case 't':
                    case 'T':
                        switch (*cur++)
                        {
                            case 'r':
                            case 'R': switch (*cur++)
                                {
                                    case 'u':
                                    case 'U': switch (*cur++)
                                        {
                                            case 'e':
                                            case 'E': lpwcstr = cur; result = true; return ParseSuccess.Success;
                                            default: result = false; return (ParseSuccess)(lpwcstr - cur + 1);
                                        }
                                    default: goto to_fail;
                                }
                            default: goto to_fail;
                        }
                    case 'f':
                    case 'F': switch (*cur++)
                        {
                            case 'a':
                            case 'A': switch (*cur++)
                                {
                                    case 'l':
                                    case 'L': switch (*cur++)
                                        {
                                            case 's':
                                            case 'S': switch (*cur++)
                                                {
                                                    case 'e':
                                                    case 'E': lpwcstr = cur; result = false; return ParseSuccess.Success;
                                                    default: goto to_fail;
                                                }
                                            default: goto to_fail;
                                        }
                                    default: goto to_fail;
                                }
                            default: goto to_fail;
                        }
                    default: goto to_fail;
                }
            to_fail:
                result = false; 
                return (ParseSuccess)(lpwcstr - cur + 1);
            }

    FMB, 23 Марта 2011

    Комментарии (12)
  10. C# / Говнокод #6058

    +134

    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
    using System;
    namespace ConsoleApplication_Square
    {
        class Program
        {
            static void Main()
            {
                var n = Console.ReadLine();
                if (n.Length >= 5)
                {
                    var t = false;
                    for (var i = 0; i < n.Length-4; i++)
                    {
                        if(n[i]=='h')
                        {
                            for (var j = i + 1; j < n.Length-3; j++)
                            {
                                if(n[j]=='e')
                                {
                                    for (var l = j + 1; l < n.Length-2; l++)
                                    {
                                        if(n[l]=='l')
                                        {
                                            for (var m = l + 1; m < n.Length-1; m++)
                                            {
                                                if (n[m]=='l')
                                                {
                                                    for (var o = m + 1; o < n.Length; o++)
                                                    {
                                                        if (n[o]=='o')
                                                        {
                                                            t = true;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }  
                                }
                            }
                        }
                    }
                    Console.Write(t?"YES":"NO");
                }
                else
                {
                    Console.Write("NO");
                }
            }
        }
    }

    Нашел в качестве решения задачи на CodeForces.ru

    http://codeforces.ru/problemset/problem/58/A

    Moldabekov, 21 Марта 2011

    Комментарии (38)
  11. PHP / Говнокод #5961

    +134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $i=10000;
    
    while(true)
    {
    $i--;
    
    if ($i==0) break;
    
    // Какойто код с $i
    }

    Выкопал в одном серьезном проекте. Так там что не цикл так while(true) c точками выхода по телу цикла..

    Vasiliy, 12 Марта 2011

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