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

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

    +144

    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
    #include <stdio.h>
    
    // Говнокод здесь
    #define ABS(x) ((x) ? (x) : (-(x)))
    
    int main () {
    	char ch = -128;
    	short sm = -32768;
    	int i = -2147483647; i--;                                    // здесь
    	long long l = -9223372036854775807LL; l--; // и здесь декременты нужны
    	                                                                             // для подавления варнингов
    	
    	printf("char:\t\tABS(%hhd) = %hhd\n", ch, ABS(ch));
    	printf("short:\t\tABS(%hd) = %hd\n", sh, ABS(sh));
    	printf("int:\t\tABS(%d) = %d\n", i, ABS(i));
    	printf("long long:\tABS(%lld) = %lld\n", l, ABS(l));
    
    	return 0;
    }

    Может быть, баян, но...
    Всем знакомый макрос ABS способен сделать большую гадость.
    Вот вывод программы:
    char: ABS(-128) = -128
    short: ABS(-32768) = -32768
    int: ABS(-2147483648) = -2147483648
    long long: ABS(-9223372036854775808) = -9223372036854775808

    whiskey, 12 Ноября 2010

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function testPrint($str){
    
    
    	return $str;        
    
    }
    print testPrint("<br>");

    Недавно видел такую полезную функцию:)

    dexif, 07 Ноября 2010

    Комментарии (19)
  4. C++ / Говнокод #4520

    +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
    Vect2i nogi2head(int nX  ,int nY,CSprite *sp,int Dest)
    {	
    	Vect2i tmp;
    	/*Dest=0;
    	switch (Dest)
    	{
    	case -1:
    		tmp.x=nX-sp->x;
    		break;
    	case 0:*/
    		tmp.x=nX-(sp->x)/2;
    		/*break;
    	case 1:
    		tmp.x=nX;
    		break;
    	}*/
    	tmp.y=nY-sp->y;
    return tmp;
    }

    Даже не знаю, что тут сказать. Хохотал минут 10

    burjui, 03 Ноября 2010

    Комментарии (19)
  5. PHP / Говнокод #4497

    +161

    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
    // Функция отметки входящих сообщений как прочитанных
    	function CheckReadPM() {	
    		global $user, $site, $db;
    		$pm_ids = SafeDB($_POST['mod'], 11, int);
    		$where = '(`id` = '.$pm_ids[0];
    		$i = 1;
    		while($i < count($pm_ids)) {
    			$where .= ' or `id` = '.$pm_ids[$i];	
    			$i++;	
    		}
    		$where .= ") and `to` = ".$user->Get('u_id')." and `black` = 0";
    		$db->Update('private', "`read` = 1", $where);	
    	}

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

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    srand(time(0));
    for (i = 0; i < 10000; i++) {
        sprintf(qtrc, "/tmp/%010d", rand());
        if (!mkdir(qtrc, 0700))
            goto okay;
    }
    logPanic("Cannot create $HOME\n");
    okay:

    Исходники KDM

    proDOOMman, 17 Октября 2010

    Комментарии (19)
  7. C# / Говнокод #4151

    +116

    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
    private void ProcessMessages()
    {
    	if (!string.IsNullOrEmpty(Request.QueryString["m"]))
    	{
    		string mes = string.Empty;
    		switch (Request.QueryString["m"])
    		{
    			case "2":
    				mes = "Настройки были успешно сохранены.";
    				break;
    			
    			...
    			
    			case "10":
    				mes = "Изменения в получении отчётов на e-mail, были сохранены.";
    				break;
    			case "11":
    				mes = "Установлен новый основной счет.";
    				break;
    			case "12":
    				mes = "Счёт был успешно отключен.";
    				break;
    		}
    
    		webMessage.Text = HtmlUtils.PrintBreak(mes);
    	}
    }

    Enum?

    asilmacc, 01 Сентября 2010

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

    +172

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $i = 1;
    while ($ip = mysql_fetch_array($result))
    {
    	$ip_end = explode(".", $ip[0]);
    	
    	if ($ip_end[3] != $i && $i < 245 && $i != 100)
    	{
    		$ip_pub = "{$mask}.$i";
    		$i = 246;
    	}
    	$i++;
    }

    Буквально на неделю отлучился, а один товарищ накрапал такую конструкцию

    Werdn, 01 Сентября 2010

    Комментарии (19)
  9. JavaScript / Говнокод #4059

    +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
    <script>T=new Array();A=new Array();C=new Array();D=new Array();D[0]='Причастие ИСПУГАННЫЙ образовано от глагола совершенного вида ИСПУГАТЬ (ЧТО СДЕЛАТЬ?), кроме этого имеет приставку ИС- , поэтому пишется с двумя буквами Н';C[0]=2;T[0]=new Array('_н','н','нн');
    D[1]='Причастие ОБРАДОВАННЫЙ образовано от глагола совершенного вида ОБРАДОВАТЬ (ЧТО СДЕЛАТЬ?), кроме этого, имеет суффикс -ОВА- , поэтому пишется с двумя буквами Н';C[1]=2;T[1]=new Array('_н','н','нн');
    D[2]='Причастие ОСНОВАННОЕ имеет зависимые слова НИ НА ЧЕМ, поэтому пишется с двумя буквами Н';C[2]=2;T[2]=new Array('_н','н','нн');
    D[3]='Причастие НЕПРИГЛАШЕННЫЙ образовано от глагола совершенного вида ПРИГЛАСТЬ (ЧТО СДЕЛАТЬ?), поэтому пишется с двумя буквами Н';C[3]=2;T[3]=new Array('_н','н','нн');
    D[4]='Слово ВЛЮБЛЕННОЙ образовано от глагола совершенного вида ВЛЮБИТЬСЯ (ЧТО СДЕЛАТЬ?), поэтому пишется с двумя буквами Н';C[4]=2;T[4]=new Array('_н','н','нн');
    D[5]='Это одно из тех слов, написание которых необходимо запомнить. В нем пишется две буквы Н. ';C[5]=2;T[5]=new Array('_н','н','нн');
    // Еще очень много букв и подобных строк, написанных, по-видимому, копипастом и единой строкой (разделил построчно я для удобства чтения)
    D[30]='Слово РАЗГНЕВАННУЮ образовано от глагола совершенного вида РАЗГНЕВАТЬ (ЧТО СДЕЛАТЬ?), кроме этого, имеет приставку РАЗ- , поэтому пишется с двумя буквами Н';C[30]=2;T[30]=new Array('_н','н','нн');
    D[31]='Слово НЕУГНЕТЕННЫЙ имеет приставку У- , поэтому пишется с двумя буквами Н.';C[31]=2;T[31]=new Array('_н','н','нн');</script>
    
    					<div id="notearea"><p align="justify">Выберите правильные варианты ответов. Для проверки выполненного задания нажмите кнопку «Проверить».</p></div><br>
    					<script>if (window.opera) {var d=document.createElement('div');d.innerHTML='<p class="error">К сожалению, Ваш браузер не поддерживается. Программа работает в браузерах Internet Explorer и Mozilla Firefox.</p>';document.getElementById("notearea").appendChild(d);}</script>

    Государственный портал о русском языке Грамота.ру.
    Интерактивный диктант.

    7ion, 22 Августа 2010

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

    +148

    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
    <?php
    if (!$action){
    	echoheader('addnews', $echo['header']);
    ?>
    
    <form method="post" name="addnews" action="<?=$PHP_SELF; ?>" onsubmit="return process_form(this)">
    
    
    
    <!-- короткая -->
    <fieldset id="short"><legend><?=$echo['short']; ?></legend>
    
    <?
    	echo run_filters('new-advanced-options', 'short');
    ?>
    
    
    <textarea name="short_story" tabindex="4"></textarea>
    </fieldset>
    
    
    
    <!-- кнопки -->
    <fieldset id="actions"><legend><?=$echo['actions']; ?></legend>
    <input type="submit" value="<?=$echo['add']; ?>" accesskey="s">
    </fieldset>
    
    
    
    
    
    <?
    	}
    ?>
    
    <fieldset id="date"><legend><?=$echo['date']; ?></legend>
    <input type="text" name="day" size="10" maxlength="2" value="<?=date('d'); ?>" title="<?=$echo['calendar']['day']; ?>" readonly>
    
    <input type="text" name="month" size="10" maxlength="10" value="<?=date('M'); ?>" readonly>
    
    
    
    <input type="text" name="year" maxlength="4" value="<?=date('y'); ?>" title="<?=$echo['calendar']['year']; ?>" readonly> <input type="text" name="hour" maxlength="2" value="<?=date('H', (time() + $config_date_adjust * 60)); ?>" title="<?=$echo['calendar']['hour']; ?>" readonly>:<input type="text" name="minute" maxlength="2" value="<?=date('i', (time() + $config_date_adjust * 60)); ?>" title="<?=$echo['calendar']['minute']; ?>" readonly>:<input type="text" name="second" maxlength="2" value="<?=date('s', (time() + $config_date_adjust * 60)); ?>" title="<?=$echo['calendar']['second']; ?>" readonly>
    </fieldset>
    
    
    
    </div></fieldset>
    
    <input type="hidden" name="mod" value="addnews">
    <input type="hidden" name="action" value="doaddnews">
    </form>
    
    <?
    	echofooter();
    
    
    // ********************************************************************************
    // Do add News to DB
    // ********************************************************************************
    if ($action == 'doaddnews'){
    	if (($added_time = strtotime($day.' '.$month.' '.$year.' '.$hour.':'.$minute.':'.$second)) == -1){
    		$added_time = (time() + $config_date_adjust * 60);
    	}
    
    	if (!$title){
    		$title = substr($short_story, 0, 10).'...';
    	}
    
    	$id = $sql->last_insert_id('news', '', 'id') + 1;
    
    	run_actions('new-save-entry');
    
    	$sql->insert(array(
    	'table'	 => 'news',
    	'values' => array(
    				'date'	   => $added_time,
    				'author'   => $member['username'],
    				'title'	   => replace_news('add', $title),
    				'short'	   => strlen(replace_news('add', $short_story)),
    				'full'	   => strlen(replace_news('add', $full_story)),
    				'avatar'   => $avatar,
    				'category' => $category,
    				'url'	   => ($url ? my_namespace($url) : my_namespace(totranslit($title))),
    				'hidden'   => (($config_approve_news == 'yes' and $member['level'] > 2) ? true : false)
    				)
    	));
    
    	$sql->insert(array(
    	'table'	 => 'story',
    	'values' => array(
    				'post_id' => $id,
    				'short'	  => replace_news('add', $short_story),
    				'full'	  => replace_news('add', $full_story)
    				)
    	));
    
    	run_actions('new-save-entry');

    dimiork, 14 Августа 2010

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

    +142

    1. 1
    2. 2
    string a = "Hello World!";
    printf("%s", a);

    sergylens, 12 Августа 2010

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