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

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

    −850

    1. 1
    2. 2
    3. 3
    4. 4
    SELECT u.*, (SELECT count(*) FROM `projects` WHERE `autor`=u.`id`) as sum
    FROM `users` as u 
    WHERE `sum`>0
    ORDER BY `sum` DESC

    #1054 - Unknown column 'sum' in 'where clause'

    newpdv, 31 Июля 2011

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $content=file_get_contents("http://7ion.ru");//берем страницу
    
    $LinksArray=NULL;//тут будут ссылки
    
    preg_match_all("/<a[[:print:]]href=["|'](.*?)["|'].*?>(.*?)<.{0,1}a.{0,1}>/i",$content,$LinksArray,PREG_PATTERN_ORDER);//применяем регулярку
    
    var_dump($LinksArray);//выводим ссылки

    Один товарищ с таким же ником, как у меня долго и упорно пытался доказать, что кодит лучше меня.
    Когда я взломал его мегосекурную кмс (надо было пароль на мыле сменить все же, эх, добрая я душа), он меня материл и говорил, что написал код в 12 лет а щас он ниибаца мастер в свои 18.
    Не став возражать, что в 12 лет в похапе еще половины функциона им используемого не было, просто посмотрили кто первым напишет кмс.
    Я вообще ничего не стал писать, лол, а он что-то накалял и стал вести блог. Вот вся предыстория.
    Решил я его вдруг почитать.

    http://7ion.ru/index.php?q=news&a=17 - Парсинг страницы на PHP
    Выдача - четвертая ссылка в первой десятке гугла.
    Потом, спрашивается, откуда говнокодеры берутся.

    7ion, 08 Мая 2011

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

    +146

    1. 1
    #define TRUE (rand() > 0.1 ? TRUE : FALSE) // happy debugging losers

    понедельничный неговнокод "Где здесь Си" = )

    приятного дебага на неделе, коллеги ))

    Lure Of Chaos, 11 Апреля 2011

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

    +168

    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
    function UploadAvatar($FILE_tmp, $FILE_name){
    	/*куча тупого кода*/
    	if($width >= $height)
    	    $kf = (float) $width/$height;
    	if($width < $height)		    	  
    	   $kf = (float) $height/$width;
    		   
    	//Проверка на квадратность! ппц идиотизм, идея не моя.
    	if($kf>1.1){
    		$error = "Аватар неквадратен. Пожалуйста выберите квадратный или обрежьте текущий в графическом редакторе.";
    		return 0;
    	}
    	/*еще куча тупого кода*/
    }

    Вырезал кусок из собственного старого сайта. Комменты оставил уникальными.
    Когда дизайнер потребовал чтоб аватары были только квадратны, я наваял такое.
    Допуск в 1,1 - это поблажка юзерам)))

    Skull, 25 Марта 2011

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

    +169

    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
    function razbstrok($text)
    {
    $nomer1=0;
    $stroki = array();
    	$nomer1 = strpos($text, ".", $nomer1+1);
    	while($nomer1!=false)
    	{
    		$stroki[count($stroki)]=substr($text, 0, $nomer1);
    		$text = substr($text, $nomer1+1, strlen($text)-1-$nomer1);
    		$nomer1 = strpos($text, ".", $nomer1+1);
    	}
    	$i=1;
    	$i=0;
    	while($i<count($stroki))
    	{
    	if($stroki[$i]=="")
    		{
    		$stroki[$i]=NULL; //убрать пустые клетки
    		}
    	$i=$i+1;
    	}
    	return $stroki;
    }
    
    ...
    
    $i=0;
    while($i<count(razbstrok($_GET["razdeliteli"])))
    {
    //echo(razbstrok($_GET["razdeliteli"])[$i]);
    $stroki = razbstrok($_GET["razdeliteli"]);
    echo($stroki[$i]);
    $i=$i+1;
    echo('<br>');
    }

    explode? Нет, не слышал.

    basename, 21 Января 2011

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

    +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
    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
    namespace tickets
        {
            class ticket
            {
                int ticket_num; // номер билета
                int[] digit_mas = new int[6]; // массив циф номера билета
                int i = 5;
                bool repletion; // если значение превысило 999999 - то истина
                int divizor = 10; // делитель (для розбивания числа на цифры)
                int pre_divizor = 1; // предидущий делитель
                int pre_digit; // предидущая цифра
                int happy_TK_amount; // количество "счастливых" билетов
                public ticket(int num_of_ticket)
                {
                    if (num_of_ticket < 1000000 & num_of_ticket >= 100000)
                        ticket_num = num_of_ticket;
                    else
                        Console.WriteLine("out of range");
                }
                public void crash_num() // разбиваем число на цифры  
                {
                    if (i >= 0)
                    {
                        digit_mas[i] = (ticket_num % divizor - pre_digit) / pre_divizor; // от остачи от деления на порядок , вычетаем предидущю цифру , и делим на предидущий порядок - получаем цифру определённого порядка числа 
                        pre_divizor = divizor;
                        pre_digit = digit_mas[i];
                        divizor = divizor * 10;
                        i--; // пишем в обратном порядке , для правильной записи последовательности цифер
                        crash_num();
                    }
                }
                public void echo_digits()
                {
                    for (i = 0; i <= 5; i++)
                    {
                        Console.Write(digit_mas[i]);
                    }
                }
                public void happy_ticket() // щитает количество "счастливых" билетов
                {
                    for (repletion = false; repletion != true; )
                    {
                        if (digit_mas[0] + digit_mas[1] + digit_mas[2] == digit_mas[3] + digit_mas[4] + digit_mas[5]) // проверяет билет на предмет "счастливости"
                        {
                            happy_TK_amount++;
                        }
                        i = 5;
                        num_increase();
                    }
                    Console.WriteLine("there are " + happy_TK_amount + " happy tickets");
                }
                public void num_increase() // увеличивает номер билета на 1 
                {
                    if (i >= 0)
                    {
                        digit_mas[i]++;
                        if (digit_mas[i] == 10)
                        {
                            digit_mas[i] = 0;
                            if (digit_mas[0] == 0)
                                repletion = true;
                            else
                                i--; // уменшаем индекс , для движения от младшего - к старшему разряду 
                            num_increase();
                        }
                    }
                }
            }

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

    подскажите плз , есть ли (естественно есть) , где и какое у меня какашкэ в коде , а то проверять меня некому , а индусом стать не хочу
    ЗЫ а вообше , здесь можно так делать (просить проверить )

    WJIRIIA, 16 Января 2011

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

    +152

    1. 1
    2. 2
    3. 3
    $result = mysql_query ("SELECT f.name, f.category, c.name AS cat_name, f.size, f.datetime, f.filename " .  
                           "FROM ${DB_PREFIX}_files AS f, ${DB_PREFIX}_categories AS c " .
                           "WHERE f.id=$id AND f.category = c.id");

    На момент написания совершенно не подозревал о существовании JOIN'а.

    byss, 27 Декабря 2010

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

    +170

    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
    try {
        @$ids = array_map(function($p)
       {
         static $index = 0;
         $index++; 
         if (is_numeric($p) && intval($p) == $p) 
           return intval($p); 
         else 
            throw new Exception("The element #{$index} is crap");
       }, 
       explode(',', $_COOKIE['integers']));
      }
       catch (Exception $e) {
        exit ("Uh oh! {$e->getMessage()}");
    }

    Это мы так парсим intы в куках

    eyeland, 19 Декабря 2010

    Комментарии (33)
  10. Куча / Говнокод #4882

    +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
    <html>
    <head>
    <TITLE>Бесплатные форумы. Дизайн phpBB, возможности vbulletin, скорость FastBB</TITLE>
    <STYLE>
    body {font: Verdana; }
    </STYLE>
    </head>
    <BODY bgColor=#ffffff leftMargin=50 topMargin=5 marginheight="5" marginwidth="50" style="margin:50px;margin-top:5px;margin-bottom:5px;">
    <center><br><br> <br> <br> <br> <br> <br> <br> <br>  
    <h1>На сервере ведутся работы. Пожалуйста, зайдите позже.</h1>
    
    </body>
    </html>

    html код аварийной странички сервиса borda.ru

    espr, 09 Декабря 2010

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

    +108

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if (m_Level != value)
                    {
                        if (m_Level != null)
                        {
                            Logger.Unsubscribe(m_Level.Value, Logger_LogEvent);
                        }
                        m_Level = value;
                        if (m_Level != null)
                        {
                            Logger.Subscribe(m_Level.Value, Logger_LogEvent);
                        }
                    }

    Бывает и так. . .

    walash, 03 Декабря 2010

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