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

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

    +142

    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
    function categories_all()
    {
    	// Запрос.
    	$query = "SELECT id, title FROM categories ORDER BY id DESC";
    	$result = mysql_query($query) or die (mysql_error());
    							
    	if (!$result)
    		die(mysql_error());
    	
    	// Извлечение из БД.
    	$n = mysql_num_rows($result);
    	$cat = array();
    
    	for ($i = 0; $i < $n; $i++)
    	{
    		$row = mysql_fetch_assoc($result);		
    		$cat[] = $row;
    	}
    	
    	return $cat;
    }

    Выборка всех категорий Такого я еще нигде не видел.

    Vasiliy, 01 Мая 2011

    Комментарии (18)
  3. JavaScript / Говнокод #6522

    +38

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Drupal.parseJson = function (data) {
      if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {
        return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
      }
      return eval('(' + data + ');');
    };

    no comments. и как я понимаю нормальные люди делают eval завернутый в try

    brainstorm, 30 Апреля 2011

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

    +142

    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
    char version[80] = "       POSIX compliant Communications test program version 1.00 4-25-1999\r\n";
       char version1[80] = "          Copyright(C) Mark Zehner/Peter Baumann 1999\r\n";
      
    fputs(version,output);               //display the program introduction
       fputs(version1,output);
       fputs(version2,output);
       fputs(version3,output);
       fputs(version4,output);
       fputs(version5,output);
       fputs(version6,output);
       fputs(version7,output);
       fputs(version8,output);
       fputs(version9,output);
       fputs(version10,output);
       fputs(version11,output); 
       fputs(version12,output);
       fputs(version13,output);

    http://www.comptechdoc.org/os/linux/programming/c/linux_pgcserial.html
    кришну вроде не вызывают. код странным образом напоминает индусский...

    ursus, 26 Апреля 2011

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    echo("
    <div id='navigation'>
    	<center>
    		<ul>
    			<li><a href='http://URL' id='homelink' onmouseover=" . '"Enlarge(' ."'#homelink')" . '"'. " onmouseout='" . 'Normalize("#homelink")' . "'>Домой</a></li>
    			<li><a href='#' id='aboutlink' onmouseover=" . '"Enlarge(' ."'#aboutlink')" . '"'. " onmouseout='" . 'Normalize("#aboutlink")' . "'>О нас</a></li>
    			<li><a href='http://URL' id='bdlink' onmouseover=" . '"Enlarge(' ."'#bdlink')" . '"'. " onmouseout='" . 'Normalize("#bdlink")' . "'>База знаний</a></li>
    			<li><a href='#' id='chatlink' onmouseover=" . '"Enlarge(' ."'#chatlink')" . '"'. " onmouseout='" . 'Normalize("#chatlink")' . "'>Общение</a></li>");

    Вот так вот справляемся с двумя видами кавычек.

    RaZeR, 14 Апреля 2011

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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    tr>
                                <td valign="top">
                                  <!--Содержание станици начинается тут-->
    <?
    if ($p)
       include "content/pages.php";
    elseif ($mod)
       include "content/".$mod.".php";
    ?>
                                </td>
                              </tr>

    Так происходит подключение модулей на одном крупном гос.портале Казахстана. $mod передаётся через get подключение происходит без всяких проверок

    NemoReturns, 08 Апреля 2011

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

    +985

    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
    public void ptsb()      {
                DateTime NW = System.DateTime.Now;
                int gh = NW.Day + 1; 
                int hj = NW.Month;   
                int NG = NW.Year;
                bool vg = System.DateTime.IsLeapYear(NW.Year); 
                if (hj==2)                     {
                    if (vg)                    {
                    if (gh > 29)                {
                        gh = 1;     
                        hj = 3;                    } } 
                    if (gh > 28)                {
                        gh = 1;    
                        hj = 3;     
                    } }
                else{
                    if (hj == 4)                   {
                        if (gh > 30)
                        {
                            gh = 1;
                            hj = 5;                      } }
                    else                {
                        if (hj == 6)                     {
                            if (gh > 30)                        {
                                gh = 1;
                                hj = 7;                        } }
                        else
                        {
                            if (hj == 9)                          {
                                if (gh > 30)                            {
                                    gh = 1;
                                    hj = 10;  
                                } }
                            else    {
                                if (hj == 11)                             {
                                    if (gh > 30)                                {
                                        gh = 1;
                                        hj = 12;                                  } }
                                else  {
                                    if (gh > 31)                                 {
                                        gh = 1;
                                        hj = hj + 1;
                                        if (hj == 13){
                                            hj = 1;
                                            NG = NG + 1;                                    }}}}}}}
         if (NW.Month < 10)         {
             if (NW.Day < 10)            {
                 d = "0" + NW.Month + "-" + "0" + NW.Day + "-" + NW.Year;
                 }
             else           {
                 d = "0" + NW.Month + "-" + NW.Day + "-" + NW.Year;         }     }
         else      {
                                    if (NW.Day < 10)                                 {
                                        d = NW.Month + "-" + "0" + NW.Day + "-" + NW.Year;        }
                                    else     {
                                        d = NW.Month + "-" + NW.Day + "-" + NW.Year;          }     }    
     if (hj < 10)       {
             if (gh < 10)           {
                 b = "0" + hj + "-" + "0" + gh + "-" + NG;         }
             else           {
                 b = "0" + hj + "-" + gh + "-" + NG;         }     }
         else      {
             if (gh < 10)         {
                 b = hj + "-" + "0" + gh + "-" + NG;        }
             else         {
                 b = hj + "-" +gh + "-" + NG;     }}}

    .....

    ded_efsey, 06 Апреля 2011

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

    −132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Договор = Неопределено;
    
    ВыборкаДоговоров = Справочники.ДоговорыКонтрагентов.Выбрать();
    
    Пока ВыборкаДоговоров .Следующий() Цикл
          Если ВыборкаДоговоров.Ссылка = Документ.ДоговорКонтрагента Тогда
                Договор = ВыборкаДоговоров.Ссылка;
          КонецЕсли;
    КонецЦикла
    
    ТабДокумент.Параметры.Договор = Договор.Наименеование;

    Попросили стажера сделать печатную форму.

    A-tomic, 05 Апреля 2011

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

    +161

    1. 1
    <?if ((eregi('?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]"(?:(?:\(?:[^\"\r\\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*))*)?;\s*',$_POST['admin_mail']))){echo'Ошибка в адресе почты';} ?>

    Проверка на правильность E-mail))) (Ссылка с форума php.ru)

    Пришлось укоротить регулярное выражение, что-бы вставить сюда, кто хочет взглянуть на оригинал, ссылка снизу.

    http://www.php.ru/forum/viewtopic.php?p=194512

    X-proger, 04 Апреля 2011

    Комментарии (18)
  10. Pascal / Говнокод #6196

    +103

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Будет св. время - рефакторить данный кусок.
       typeArray[0] := (Char(Ord(Value[1])- 1)) + IntToStr(StrToInt(Value[2]) - 1);
       typeArray[1] := (Char(Ord(Value[1]) - 1)) + Value[2];
       typeArray[2] := (Char(Ord(Value[1]) - 1)) + IntToStr(StrToInt(Value[2]) + 1);
       typeArray[3] := Value[1] + IntToStr(StrToInt(Value[2]) - 1);
       typeArray[4] := Value[1] + IntToStr(StrToInt(Value[2]) + 1);
       typeArray[5] := (Char(Ord(Value[1]) + 1)) + IntToStr(StrToInt(Value[2]) - 1);
       typeArray[6] := (Char(Ord(Value[1]) + 1)) + Value[2];
       typeArray[7] := (Char(Ord(Value[1]) + 1)) + IntToStr(StrToInt(Value[2]) + 1);
    //-------!!!!!!!-----------

    Таки у погромистов тоже бывает полшестого!

    Govnocoder#0xFF, 02 Апреля 2011

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

    −91

    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
    Функция СравнитьЭлементыСправочника(Элемент1, Элемент2, фЗаписатьРазличия=0) Экспорт
    	Перем Рез;
    	Рез = 0;
    	Если (Элемент1 <> Элемент2) и (фЗаписатьРазличия=0) Тогда
    		Рез = 1;
    		Перейти ~М1;
    	КонецЕсли;
    	
    	// сначала проверим код и наименование 
    	Если (Элемент1.Код <> Элемент2.Код) Тогда
    		если фЗаписатьРазличия=1 Тогда
    			ЗаписьЖурналаРегистрации("изменен код с '"+СокрЛП(Элемент1.Код)+"' на '"+СокрЛП(Элемент2.Код)+"'","Справочники","Изменен реквизит справочника",Элемент1,2);
    		Иначе
    			Рез = 1;
    			Перейти ~М1;
    		КонецЕсли;	
    	КонецЕсли;
    	
    	Если Элемент1.Наименование <> Элемент2.Наименование Тогда
    		если фЗаписатьРазличия=1 Тогда
    			ЗаписьЖурналаРегистрации("изменено наименование с '"+СокрЛП(Элемент1.наименование)+"' на '"+СокрЛП(Элемент2.наименование)+"'","Справочники","Изменен реквизит справочника",Элемент1,2);
    		Иначе
    			Рез = 1;
    			Перейти ~М1;
    		КонецЕсли;	
    	КонецЕсли;	
    
    	// == тут было код который удалил автор поста	==
    
    ~М1:	
    	Возврат Рез;
    		
    КонецФункции

    Внезапно нашел такую функцию неизвестного автора :)

    CYFiVE, 30 Марта 2011

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