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

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?php if(sizeof($v[1])==1) {?>
    <?php
     }
     ?>
     <?php if(sizeof($v[1])>1) { $v[1]=ass_array_shuffle($v[1]); ?>

    и в завершение говнопоноса... не думаю что мне нужон был именно sizeof

    Lure Of Chaos, 12 Мая 2010

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

    +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
    20. 20
    21. 21
    22. 22
    23. 23
    <?php
    function isOk() {
    	global $questions;
    	foreach($questions as $k=>$v) {
    		if($v[2]!==false) {
    			if (!isset($_REQUEST[$k])) {
    				return false;
    			}
    			if ($v[2]!=($_REQUEST[$k])) {
    				return false;
    			}
    		}else {
    			if (isset($_REQUEST[$k])) {
    				return false;
    			}
    		}
    	}
    	return true && isset($_REQUEST['submit']);
    }
    
    if (isOk()) {
    	setcookie('ok','ok');
    ?>

    ну и совсем маленький ГК. проверяем ответы на вопросы мини-теста. Пересматриваю свой бывший сайт, единственное оправдание что ему много лет, а мне было мало... Хватаюсь за голову и ржу )

    Lure Of Chaos, 12 Мая 2010

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

    +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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    function first_me_line($file,$lim=1024) {
    	$h=fopen($file,'r');
    	if($h) {
    		while (!feof($h)) {
    			do {
    				$line=fgets($h,1024);
    			}
    			while ((!feof($h))&&
    			(trim(strip_tags($line))=='')
    			||(strpos(strtolower($line),'<h1>')!==false)
    			||(strpos(strtolower($line),'<h2>')!==false)
    			||(strpos(strtolower($line),'<h3>')!==false)
    			||(strpos(strtolower($line),'<cite>')!==false)
    			||(strpos(strtolower($line),'<code>')!==false)
    			);
    			$line=chop(strip_tags($line));
    			if(strlen($line)>$lim) {
    				$line=substr($line,0,$lim);
    			}
    			fclose($h);
    			return $line;
    		}
    		fclose($h);
    		return '';
    	}
    	return '';
    }

    из того же сайта 8летней давности. здесь - берем первую строку "шедевра" литературы после заголовка и эпиграфа.
    Что бы было понятней:

    <h1>Хулиганство</h1>

    <p class="br">
    А я с Любой был знаком,<br>
    Предложил ей заняться языком.<br>
    А она между делом<br>
    Предложила заняться телом.<br>
    </p>
    <p class="br">
    Вот уже как две недели<br>
    Занимаемся мы пастелью.<br>
    За что, Любовь, тебя люблю,<br>
    Что пишем только ню.<br>
    </p>

    Lure Of Chaos, 12 Мая 2010

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

    +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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    function list_dir($dir='.',$isfile,$extension=''){
    	$slash=(strrpos($dir,'/')==(strlen($dir)-1)?'':'/');
    	$files=array();
    	if ($handle = opendir($dir)) {
    		while (false !== ($file = readdir($handle))) {
    			if ($file != "." && $file != "..") {
    				if(
    				($isfile && is_file($dir.$slash.$file))
    				||
    				((!$isfile) && (!is_file($dir.$slash.$file)))
    				)
    				{
    					if($extension=='') {
    						$files[$dir.$slash.$file]="$file";
    					} else {
    						$fp=split('[.]',$file);
    						$fe=$fp[sizeof($fp)-1];
    						if(strtolower($extension)==strtolower($fe)) {
    							$files[$dir.$slash.$file]="$file";
    						}
    					}
    				}
    			}
    		}
    		closedir($handle);
    	}
    	return $files;
    }

    еще из личного сайта 8летней давности. Здесь говно даже не код, а идея:
    есть папка с подпапками с хтмл-файлами, структурой /год/жанр/имя.html. Слева меню, которое строится каждый раз (кэшить еще не знал), с помощью этой функции пробегаем по всему хранилищу и строим древо-меню, по клику инклудим данный хтмл на страницу оО

    Lure Of Chaos, 12 Мая 2010

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

    +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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    <?php
      $cssf="./_css/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/$type/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/$type/$name.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>

    из кода 8летней давности личного сайта, классика.
    я знаю, что можно и лучше, иначе бы не выкладывал )

    Lure Of Chaos, 12 Мая 2010

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

    +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
    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
    <?php
    $base='http://www.silvi.narod.ru/'; #корень сайта silvi
    $default['imia']='Александр';   #  Имя по умолчанию
    $default['familija']='Суворов'; #  Фамилия по умолчанию
    ################ Не менять ниже############################################
    $vCrLf="<BR>\n";
    $azbuka=Array();
    $azbuka['А']=$azbuka['а']=1;
    $azbuka['Б']=$azbuka['б']=2;
    // ....
    $azbuka['Я']=$azbuka['я']=900;
    $tolkovanie=Array();
    $tolkovanie[1]='Честолюбие, жадность, грубость.';
    $tolkovanie[2]='Разрушение, гибельное последствие.';
    // ....
    $tolkovanie[1390]='Опасность.';
    $result=array();
    function summ($str)
    {
     global $vCrLf,$result,$azbuka,$tolkovanie;
     for($s=$i=0;$i<strlen($str);$i++)
     {
      $chr=substr($str,$i,1);
      if(isset($azbuka[$chr]))
      {
       $s+=$azbuka[$chr];
      }
      else
      {
      $s+=0;
      }
     }
     return $s;
    }
    
    function indent($str,$max)
    {
     if (($max-$str)<1) return '';
     $s='';
     for($i=0;$i<abs($max-$str);$i++)
     {
      $s.=' ';
     }
     return $s;
    }
    
    function gadanie($imia,$familija)
    {
     global $vCrLf,$result,$azbuka,$tolkovanie;
     $result=array();
     $num=summ($imia)+summ($familija);
     if(isset($tolkovanie[$num]))
     {
      $result[0]=$num.': '.indent(strlen($num),3).$tolkovanie[$num];
     }
     else
     {
      $result[0]='';
     }
    
     for($i=0;$i<strlen($num);$i++)
     {
      $nn=((int)substr($num,$i,1))*pow(10,strlen($num)-$i-1);
      if(isset($tolkovanie[$nn]))
      {
       $result[$i+1]=$nn.': '.indent(strlen($nn),3).$tolkovanie[$nn];
      }
      else
      {
       $result[$i+1]='';
      }
     }
    
     for($nn=0,$i=0;$i<strlen($num);$i++)
     {
      $nn+=(int)substr($num,$i,1);
     }
      if(isset($tolkovanie[$nn]))
      {
       $result[sizeof($result)]=$nn.': '.indent(strlen($nn),3).$tolkovanie[$nn];
      }
      else
      {
       $result[sizeof($result)]='';
      }
    ################ Не менять выше############################################
     $ret='<table class="table">';
     $ret.='<tr class="tr"><th colspan=2>Результаты гадания:</th></tr>';
     $ret.='<tr  class="tr" style="font-weight:bold;"><td class="td" colspan=2 align=center>'.$imia.' '.$familija.'</td></tr>';
     foreach($result as $k=>$v)
     {
      $res=split(':',$v);
      if(isset($v)&&($v!='')) $ret.='<tr class="tr2"><td class="td2" align=right>'.$res[0].'</td><td class="td2" align=left>'.$res[1].'</td></tr>';
     }
     $ret.='</table>';
     return $ret;
    }
    // ВЫЗОВ
    echo(gadanie($_GET["ti"],$_GET["tf"]).'<br>');

    вот так я лет 8 назад на пхп4 написал "Каббалистическое экспресс-гадание"( http://gargoyle.h1.ru/kabbala.php ) для сайта отца. Приятно, что в сети есть восторженные отзывы о скрипте, но внутри сплошной ГК - еле уложил этот верх юношеской мысли в 100 строк, там еще и гибрид с хтмл не менее "изящный". Работает на ура, поэтому переписывать нет ни потребности, ни желания, ни смысла.
    Смейтесь на здоровье )

    Lure Of Chaos, 12 Мая 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    string buf;
    ...
    char c_buf[MAX_LEN];
    strncpy(c_buf, buf.c_str(), MAX_LEN);

    в чём ошибка?

    skor4ik, 10 Мая 2010

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

    +144

    1. 1
    $x ^= $y ^= $x ^= $y

    как это выражение меняет местами значения Х и Y ?
    или что за оператор такой ^= ?

    Phoenix123, 07 Мая 2010

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

    +144

    1. 1
    2. 2
    3. 3
    function search() {
    		return true;
    	}

    Сам только что написал, своими руками.
    Нет, это не заглушка, изменятся функция уже не будет.
    Нет, класс с этой функцией не подразумевается как родитель для других классов в которых уже эта функция развернулась бы.

    Безымянный, 01 Мая 2010

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

    +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
    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
    #include <stdio.h>
    
    int
    predicat
    (
    int
    i
    )
    {
        return
        i
        ==
        2
        ;
    }
    
    int 
    main
    (
    )
    {
        int
        boolean
        =
        0
        ;
        for
        (
        int
        i
        =
        0
        ;
        i
        <
        3
        &&
        !
        (
        boolean
        =
        predicat
        (
        i
        )
        )
        ;
        ++
        i
        )
        ;
        printf
        (
        "%i"
        ,
        boolean
        )
        ;
        return
        0
        ;
    }

    Есть мнение что этот код идеален - максимальная экономия горизонтального простанства. Компилируется (-std=C99)

    idkravitz, 29 Апреля 2010

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