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

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

    +129

    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
    @echo off
    if exist 3.txt del 3.txt
    : begin
    if "%1"=="" goto end
    echo %1 >> 3.txt
    copy 3.txt "%1" >4.txt
    shift
    goto begin
    : end
    dir *. /O-S /B  
    del *.
    del 3.txt
    del 4.txt

    Batch файл под DOS, студенческое задание было: написать *.bat файл, который выводит список аргументов в обратном порядке, например, на команду foo.bat qwe sdf fgh ty должен быть ответ ty fgh sdf qwe. Как-то не додумался я прибавлять аргументы в обратном порядке. и придумал, как это сделать средствами бат файла.

    dj_quake, 26 Мая 2010

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

    +157

    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
    // если IP в файле есть, выводим сообщение с уведомлением
    if ($file[$i]===$ip."\r\n"){
    	echo 'Вы уже голосовали. Но спасибо, что попытались.<br>';
    	break;
    	// если IP нет, тогда считаем рейтинг и записываем IP в файл
    } elseif ($file[$i]!=$ip."\r\n") {
    	// ********* СЧИТАЕМ РЕЙТИНГ *********
    	// открываем файл с рейтингом
    	$file_open=fopen("rate.txt", "a+");
    	$file_read=fgets($file_open);
    	// разбиваем данные по спецсимволу ':'
    	$dan=explode(":",$file_read);
    	// первое значение - сумма всех оценок, второе - кол-во проголосовавших юзеров
    	// добавляем к сумме оценок - полученную новую оценку
    	// добавляем к сумме юзеров - 1 человека
    	if ($_POST['rating_val']>=1 && $_POST['rating_val']<=5){
    	$r=$_POST['rating_val'];
    	$ocenka=$dan[0]+$r;
    	$users=$dan[1]+1;
    	$write=$ocenka.':'.$users;
    	ftruncate ($file_open, 0);
    	fwrite($file_open, $write);
    	}
    	// рейтинг считаем по формуле: (сумма оценок + текущая оценка) / (кол-во юзеров + 1 юзер)
    	$rating=substr(($dan[0]+$r) / ($dan[1]+1),0,3);
    	echo 'Ваш рейтинг: '.$rating.'<br>
    	Всего голосов: '.$users.'<br>';
    	// закрываем файл с рейтингом
    	fclose($file_open);
    	// ************************************
    	fwrite($open_ip, $ip."\r\n");
    	echo 'Ваш голос учтен. Спасибо.<br>'; 
    	break;
    } else {
    	echo 'Странно. Вопреки всякой логике, произошла ошибка, которая появиться не могла.<br>
    	Пожалуйста, <a href=mail.php>напишите нам письмо</a> и мы обязательно разберемся.';
    }

    Проверка в скриптике друга. Смотрим самый внешний IF, порадовала ветка else :)

    arsen, 24 Мая 2010

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

    +143

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    bool flag = getFlag();
    switch (flag)
    {
    case true:
        // do something
        break;
    case false:
        // do something else
        break;
    default:
       // do something more (??!)
    }

    бывает же...

    glook, 21 Мая 2010

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

    +112

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function detectSourceindex(aobject){
        for (i=0; i<tabobjlinks.length; i++){
        if (aobject==tabobjlinks[i]){
        tabsourceindex=i //source index of tab bar relative to other tabs
        break
        }
        }
        }

    Челы позиционируют себя как супер пупер команда разработчиков

    Vasiliy, 17 Мая 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (isset($_GET['prod_id'])) {
                $_GET['prod_id'] = trim(preg_replace("|[^0-9]+|uis","", $_GET ['prod_id']));      
    }
    if (isset($_REQUEST['prod_id'])) {
                $_REQUEST['prod_id'] = trim(preg_replace("|[^0-9]+|uis","", $_REQUEST ['prod_id']));      
    }        
    if (isset($_POST['prod_id'])) {
                $_POST['prod_id'] = trim(preg_replace("|[^0-9]+|uis","", $_POST ['prod_id']));      
    }

    minisot, 13 Мая 2010

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

    +960

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // Encode() takes in reference to data. We now pass in reference to data instead of the
    // entire data object to Encode() as it was causing memory leak(with the data object copy
    // not getting deleted.
    
      Data &tempData = *data;
      Data::Encode(tempData, &encodedRequest, requestSize, 0);

    Перевод:
    Encode() принимает ссылку на data. Давайте передадим туда ссылку,
    а то раньше мы передавали объект целиком, и это приводило к утечкам памяти (копия объекта не удалялась).


    Здесь впору процитировать "Бойцовский Клуб":
    -А в какой Вы фирме работаете?
    -В крупной...

    belca, 13 Мая 2010

    Комментарии (13)
  8. 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)
  9. PHP / Говнокод #3161

    +167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $fileContent=file_get_contents($this->rootPath.'app/'.$this->interface.$this->handler.$this->p_h.'.php');
                	if (preg_match('/class\s{1,}\b'.$this->handler.$this->p_h.'\b/i', $fileContent,$matches)) {
                        .............
                        if (preg_match('/function\s{1,}\b'.$this->action.$this->p_a.'\b/i', $fileContent,$matches)) {
                			$class=$this->handler.$this->p_h;
    				$action=$this->action.$this->p_a;
                			$this->includeClass($class,$action);
                            return;
    
                         .............

    Так мы проверяем наличие медота в классе ((

    minisot, 05 Мая 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $q = mysql_query("select * from users where `login`='$login';") or die (
    $err = mysql_error();
    $fp = fopen ("mysql_logs/mysql_error.log", "a+"); 
    fwrite ($fp, "".$date." - ".err."");
    fclose ($fp);
    header('Location: index.php?mysql_error'));

    DmitryDick, 25 Апреля 2010

    Комментарии (13)
  11. VisualBasic / Говнокод #3089

    −110

    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
    ''' <summary>
    	''' Возвращает Boolean по правилам Бэйсика: если объект является ненулевым 
    числом или истиной, тогда true, иначе false; переваривает все типы.
    	''' </summary>
    	''' <param name="o"></param>
    	''' <returns></returns>
    	''' <remarks>
    	''' </remarks>
    	''' <history>
    	''' 	[Max Pro]	13.04.2007	Created
    	''' </history>
    	''' -----------------------------------------------------------------------------
    	Public Function bBoolean(ByVal o) As Boolean
    		If bIsBoolean(o) Then bBoolean = o
    	End Function
    	'''

    Расскажу немного о Максиме Прохорове. Он окончил универ им. Баумана с красным дипломом, потом работал над программой okno.mos.ru потом его взяли в частную контору на бешеные бабки.
    Это функция проверки ^

    ursus, 23 Апреля 2010

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