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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. PHP / Говнокод #3075

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    foreach($arResult["ITEMS"] as $k=>$arItem){
    	list($d,$m,$y) = explode(" ",$arItem["DISPLAY_ACTIVE_FROM"]);
    	$arResult["ITEMS"][$k]["DISPLAY_ACTIVE_FROM"] = $d." ".convertRusMonth($m)." ".$y;
    }

    Преобразование даты, необходимо изменить название месяца, к пример февраль должен стать февраля. Формат месяца заранее известен.

    Abductio, 22 Апреля 2010

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

    +187.2

    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
    HTTP/1.1 404 Not found
    Server: Netscape-Enterprise/4.1
    Date: Mon, 19 Apr 2010 13:05:32 GMT
    Content-type: text/html
    Connection: close
    
    <script language="JavaScript">
                                  port=0
                      while ( port==0 || port==9 || port==7 ){
                                      port=Math.floor(Math.random()*1000)
                 while (port>=100) port-=100
                                              while (port>=10) port-=10
                                                                         }
    location="http://"+"10.1.100.120:8"+port+document.location.pathname+document.location.search+document.location.hash
    </script>

    вот такой суровый редирект. может вам будет смешно но я из-за неизвестного мудака убил полтора часа.
    думаю он хотел рандомом генить порт от 1 до 1000
    а потом смотреть входит оно в диапазон 81-86,88
    оно подтупливало и он придумал "оптимизацию" ))

    дети, никогда так не вычисляйте остатки
    а если сильно хочется рандомов и всего то уж лучше так

    <script language="JavaScript">
    port=Math.floor(Math.random()*8)+1;
    if (port==7) port++;

    location="http://"+"10.1.100.120:8"+port+document.locatio n.pathname+document.location.search+docu ment.location.hash
    </script>

    3.14159265, 19 Апреля 2010

    Комментарии (13)
  9. Pascal / Говнокод #2974

    +106.2

    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
    /////////////////////////// удаление спецсимволов
    Prbl:=' ';
    WS_h:=AnsiReplaceText(WS_h, Chr(13), Prbl);
    WS_h:=AnsiReplaceText(WS_h, Chr(10), Prbl);
    WS_h:=AnsiReplaceText(WS_h, ' ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '           ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '          ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '         ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '        ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '       ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '      ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '     ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '    ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '   ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '  ', Prbl);
    /////////////////////////////////////////////////
    WS_h:=AnsiReplaceText(WS_h, '<span class=SpellE>', '');
    /////////////////////////// удаление спецсимволов

    Красиво оформленный код - залог успеха!

    Temnenkov, 09 Апреля 2010

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

    −862

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    CREATE TABLE IF NOT EXISTS `tbl_game` (
      `game_id` bigint(20) NOT NULL AUTO_INCREMENT,
      `game_name` varchar(150) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci NOT NULL DEFAULT '',
      `upload_date` bigint(20) NOT NULL DEFAULT '0',
      `magazine_id` bigint(20) NOT NULL DEFAULT '0',
      `producer_id` int(11) NOT NULL DEFAULT '0',
      `dir` varchar(60) NOT NULL DEFAULT '',
      PRIMARY KEY (`game_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=538 ;

    Вот наткнулся на такую вот говенную таблицу.

    Для некоторых случаев возможностей utf-8 видно не хватило, и пришлось использовать "продвинутую" cp1251

    Yngvie, 07 Апреля 2010

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

    +144

    1. 1
    // кода не выкладываю, по соображениям безопасности

    Не писаным правилом безопасности (при создание сайтов) считается, что доступ к админке в целом и конкретно к отдельным её частям должен иметь только авторизированный пользователь. На самом деле все обстоит не так, с уже известной вам горе компании (КСК), для примера привожу безобидное (дабы не пошли ломать ресурсы) пренебрежением безопасности: http://amisharin.ru/admin/ieeditor/ieeditor.php?vname=htmlcode
    Как видно не авторизированный пользователь получает доступ к редактору (который, кстати, стабильно работает, только в IE6).

    MoLe-X, 06 Апреля 2010

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