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

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

    +146

    1. 1
    2. 2
    3. 3
    var a = 4.83 + 2.54 + 4.85 + 4.83; 
    alert(a); 
    // выводит 17.049999999999997

    Что за глюк???

    istem, 10 Марта 2011

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

    +32

    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
    if (!empty($forum_actions))
    {
    
    ?>
    <div class="linksb">
    	<div class="inbox crumbsplus">
    		<p class="subscribelink clearb"><?php echo implode(' - ', $forum_actions); ?></p>
    	</div>
    </div>
    <?php
    
    }
    
    ?>
    <div id="brdstats" class="block">
    	<h2><span><?php echo $lang_index['Board info'] ?></span></h2>
    	<div class="box">
    		<div class="inbox">
    			<dl class="conr">
    				<dt><strong><?php echo $lang_index['Board stats'] ?></strong></dt>
    				<dd><span><?php printf($lang_index['No of users'], '<strong>'.forum_number_format($stats['total_users']).'</strong>') ?></span></dd>
    				<dd><span><?php printf($lang_index['No of topics'], '<strong>'.forum_number_format($stats['total_topics']).'</strong>') ?></span></dd>
    				<dd><span><?php printf($lang_index['No of posts'], '<strong>'.forum_number_format($stats['total_posts']).'</strong>') ?></span></dd>
    			</dl>
    			<dl class="conl">
    				<dt><strong><?php echo $lang_index['User info'] ?></strong></dt>
    				<dd><span><?php printf($lang_index['Newest user'], $stats['newest_user']) ?></span></dd>
    <?php
    
    if ($pun_config['o_users_online'] == '1')
    {
    	// Fetch users online info and generate strings for output
    	$num_guests = 0;
    	$users = array();
    	$result = $db->query('SELECT user_id, ident FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
    
    	while ($pun_user_online = $db->fetch_assoc($result))
    	{
    		if ($pun_user_online['user_id'] > 1)
    		{
    			if ($pun_user['g_view_users'] == '1')
    				$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</a>';
    			else
    				$users[] = "\n\t\t\t\t".'<dd>'.pun_htmlspecialchars($pun_user_online['ident']);
    		}
    		else
    			++$num_guests;
    	}

    главная страница форумного движка fluxbb
    moar тут по сцылке https://github.com/fluxbb/fluxbb/blob/fluxbb-1.4/index.php

    Блядь... зато скока у них там этого самого прекрасно пафоса про секурность и прочие ништяки.

    Имхо пора на написание опенсорсного говнокода давать лицензию сродни водительским правам

    brainstorm, 08 Марта 2011

    Комментарии (21)
  4. Си / Говнокод #5923

    +109

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    while(1) {
        :cycle
        goto cycleCode;
    }
    
    // ...
    
    :cycleCode
    //код
    goto cycle;

    danilissimus, 08 Марта 2011

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
        return JSON.parse(this.responseText)
    } catch (e) {
        throw e
    }

    паттерн "поддержка исключений" - если исключение всплывает - нужно его подтолкнуть, чтобы не потонуло х)

    nin-jin, 05 Марта 2011

    Комментарии (21)
  6. JavaScript / Говнокод #5896

    +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
    switch (ch) {
                case 't':
                    next('t');
                    next('r');
                    next('u');
                    next('e');
                    return true;
                case 'f':
                    next('f');
                    next('a');
                    next('l');
                    next('s');
                    next('e');
                    return false;
                case 'n':
                    next('n');
                    next('u');
                    next('l');
                    next('l');
                    return null;
                }
                error("Unexpected '" + ch + "'");
            },

    https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js

    nin-jin, 05 Марта 2011

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #define v putchar
    #define print(x) main(){v(4+v(v(52)-4));return 0;} /*
    #>++++++4[>++++++<-]>++++.----.++++.**/
    print(202*2);exit();
    #define/*>.@*/exit()

    Для кого-то покажется бояном, но меня улыбнуло. Явно искусственный код взятый со stackoverflow.com

    xaionaro, 01 Марта 2011

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

    +106

    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
    public static bool KeyToString(Keys key, bool shitKeyPressed,
                                                                        out char character)
            {
                bool result = false;
                character = ' ';
                CharPair charPair;
    
                if ((Keys.A <= key && key <= Keys.Z) || key == Keys.Space)
                {
                    // Use as is if it is A~Z, or Space key.
                    character = (shitKeyPressed) ? (char)key : Char.ToLower((char)key);
                    result = true;
                }
                else if (keyMap.TryGetValue(key, out charPair))
                {
                    // Otherwise, convert by key map.
                    if (!shitKeyPressed)
                    {
                        character = charPair.NormalChar;
                        result = true;
                    }
                    else if (charPair.ShiftChar.HasValue)
                    {
                        character = charPair.ShiftChar.Value;
                        result = true;
                    }
                }
    
                return result;
            }

    Разбираю код, скачанный с майкросовтовского App Hub. В коде и комментариях полно маленьких грамматический ошибок, но это...
    Код выложен на полном серьёзе и качается тут http://create.msdn.com/en-US/education/catalog/utility/performance_utility

    P.S. для тупых спойлер: вместо shift написано shit.

    Skelet0n, 23 Февраля 2011

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    function assign($params)
    {              
            return $params[0];
    }

    Функция с одной коммерческой cms. Можно же обойтись и без функции. Да и желательно сделать проверку на существование переменной.

    codosub, 23 Февраля 2011

    Комментарии (21)
  10. Си / Говнокод #5721

    +141

    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
    #define N2(n)   #n"0",#n"1",#n"2",#n"3",#n"4",#n"5",#n"6",#n"7",#n"8",#n"9"
    #define N30(n)  #n N2(),#n N2(1),#n N2(2),#n N2(3),#n N2(4),#n N2(5),#n N2(6),#n N2(7),#n N2(8),#n N2(9)
    #define N3(n,k) #n#k"0",#n#k"1",#n#k"2",#n#k"3",#n#k"4",#n#k"5",#n#k"6",#n#k"7",#n#k"8",#n#k"9"
    #define N4(k)   N3(k,0),N3(k,1),N3(k,2),N3(k,3),N3(k,4),N3(k,5),N3(k,6),N3(k,7),N3(k,8),N3(k,9)
    #define N5      N30(),N4(1),N4(2),N4(3),N4(4),N4(5),N4(6),N4(7),N4(8),N4(9)
    
    const char s[][4]={N5};
    const int s_size = sizeof(s)/sizeof(s[0]);
    void print_number(int n) {
        if (n<s_size) {
            printf("!%s\n",s[n]);
        }
        else {
            printf("?%d\n",n);
        }
    }

    Отсылка к #3376 http://govnokod.ru/3376
    Вопрос к общественности: что бОльший говнокод, >100 строк строковых констант или 5-строчный пассаж на макросах?

    xredor, 19 Февраля 2011

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

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    string callPage = CallPage;
    if (callPage != "Checkout.aspx")
    {
          callPage = "Checkout.aspx";
    }
    ServerTransfer(callPage + "?makerefresh=true", Server, Request);

    Найди лишнее

    uaavg, 15 Февраля 2011

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