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

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

    +171

    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
    bool BMPTextureLoader::Load (GraphicContent **content, string file_name)
    {
      int width, height;
      int bpp;
      unsigned char *pixels;
      ifstream file (file_name.c_str());
      char temp[4];
      long unsigned int data_shift;
    //Read BMP identifier (bfType)
      file.read(temp,2);
      temp[2] = '\0';
      if ((temp[0] != 'B') || (temp[1] != 'M'))
      {
        return false;
      }
    //Ignore file size and two reserved zero (bfSize, bfReserved1, bfReserved2)
      file.ignore(8);
    //Read pixel-data shift (bfOffBits)
      file.read(temp,4);
      data_shift = 0;
      for (int i=0; i<4; i++)
      {
        data_shift += (int)(temp[i]) * pow(256.0,i);
      }
      if (data_shift < 54)
      {
        return false;
      }
    //Ignore information data size (biSize)
      file.ignore(4);  
    //Read image width (biWidth)
      file.read(temp,4);
      width = 0;
      for (int i=0; i<4; i++)
      {
        width += (int)(temp[i]) * pow(256.0,i);
      }
      if (width < 0)
      {
        return false;
      }
    //Read image height (biHeight)
      file.read(temp,4);
      height = 0;  
      for (int i=0; i<4; i++)
      height += (int)(temp[i]) * pow(256.0,i);
      if (height < 0)
      {
        return false;
      }
    //Read mandatory 1 (biPlanes)
      file.ignore(2);
    //Read bite per pixel (biBitCount)
      file.read(temp,2);
      int bipp = 0;
      bipp += (int)(temp[0]) + (int)(temp[1])*256;
      if ((bipp <= 0) || (bipp / 8. != 3))
      {
        return false;
      }
      bpp = 3;
    //Read compression type (biCompression)
      file.read(temp,4);
      int c_type = 0;
      for (int i=0; i<4; i++)
      {
        c_type += (int)(temp[i]) * pow(256.0,i);
      }
      if (c_type != 0)
      {
        return false;
      }
      file.close();
      file.open(file_name);
      file.ignore (data_shift);
    //Read pixel data
      pixels = new unsigned char[width*height*bpp];
      for (int i=height-1; i>=0; i--)
      {
        for (int j=0; j<width; j++)
        {
          file.read(reinterpret_cast<char*>(&pixels[i*width*bpp + j*bpp + 2]), 1);
          file.read(reinterpret_cast<char*>(&pixels[i*width*bpp + j*bpp + 1]), 1);
          file.read(reinterpret_cast<char*>(&pixels[i*width*bpp + j*bpp]), 1);
        }
      }
    //Create texture
      Terminal terminal;

    Считываю BMP файл. Размеры, количество бит на пиксель и тип сжатия считываются нормально. Бит на пиксель 24, сжатия нет(0). Дальше я переоткрываю файл и отступаю нужное кол-во пикселей (смещение данных). После этого считываю данные о цветах пикселей. С рисунками нарисованными непосредственно мной всё проходит нормально. Но с картинками взятыми из интернета происходит сбой. После определённого пикселя считывание прекращается. По дебагу получается что при достижение этого пикселя наступает конец файла. Пробовал вырезать куски изображения из нета и переносить в свой файл. Одни куски переносятся и всё нормально, другие обрывают считывание. Наблюдал эту проблему у нескольких рисунков. Возможно кто-то сталкивался с такой проблемой?

    Источник: http://www.gamedev.ru/code/forum/?id=144831

    TarasB, 07 Марта 2011

    Комментарии (19)
  3. C# / Говнокод #5873

    +126

    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
    private const string constDefFeedLimitValue = "5";
    private string feedLimit = constDefFeedLimitValue;
    private int feedLmt;
    
    protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
            {
                try
                {
                    feedLmt = Convert.ToInt32(feedLimit);
                }
                catch (Exception)
                {
                    feedLmt = 0;
                }
                ...
            }

    Автор из Киева, имеет статус MVP.

    Alexander, 03 Марта 2011

    Комментарии (19)
  4. C# / Говнокод #5856

    +146

    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
    case enter:
    						{
    							TreeNodeBackColorChange();
    							if (Connection.Login == "" || Connection.Login == null)
    							{
    								new fmlogin().ShowDialog();
    								try
    								{
    									if (Connection.Login != "")
    										foreach (TreeNode item in tvMenuList.Nodes)
    										{
    											if (item.Name == lk)
    											{
    												item.NodeFont = new Font("arial", 10, FontStyle.Bold);
    												item.Text += " (" + Connection.Login + ")";
    											}
    										}
    								}
    								catch { }
    							}
    							else MessageBox.Show("Вы уже авторизованы!", "Вход в личный кабинет", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    							break;
    						}
    					case leave:
    						{
    							TreeNodeBackColorChange();
    							if (Connection.Login != "" && Connection.Login != null)
    							{
    								if (MessageBox.Show("Вы уверены, что хотите выйти?", "Выход", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
    								{
    									Connection.Login = "";
    									Connection.Pass = "";
    									try
    									{
    										foreach (TreeNode item in tvMenuList.Nodes)
    										{
    											foreach (TreeNode item2 in item.Nodes)
    											{
    												foreach (TreeNode item3 in item2.Nodes)
    												{
    													if (item3.Name == lk)
    													{
    														item.NodeFont = tvMenuList.Font;
    														item3.Text = "Личный кабинет";
    													}
    												}
    												if (item2.Name == lk)
    												{
    													item.NodeFont = tvMenuList.Font;
    													item2.Text = "Личный кабинет";
    												}
    											}
    											if (item.Name == lk)
    											{
    												item.NodeFont = tvMenuList.Font;
    												item.Text = "Личный кабинет";
    											}
    										}
    									}
    									catch { }
    									MessageBox.Show("Выход произведен успешно!", "Выход", MessageBoxButtons.OK, MessageBoxIcon.Information);
    								}
    							}
    							else MessageBox.Show("Вы не авторизованы!", "Выход из личного кабинета", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    							break;
    						}

    извиняюсь) форматирование сбивается когда из студии вставляю)
    PS жалко что нельзя вставить больше 100 строк. А тут такие красивые функции есть, которые теряют всю свою зрелишность при их урезании

    slavenin, 02 Марта 2011

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

    +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
    if (($_GET['var'])==0 and ($_GET['email'])==1 and ($_GET['numbers'])==1)
    $label='Вы неправильно указали логин';
    elseif (($_GET['var'])==0 and ($_GET['email'])==0 and ($_GET['numbers'])==1)
    $label='Вы неправильно указали логин и е-мейл';
    elseif (($_GET['var'])==1 and ($_GET['email'])==0 and ($_GET['numbers'])==1)
    $label='Вы неправильно указали е-мейл';
    elseif (($_GET['var'])==0 and ($_GET['email'])==0 and ($_GET['numbers'])==0)
    $label='Вы неправильно указали логин, е-мейл и числовой набор';
    elseif (($_GET['var'])==1 and ($_GET['email'])==1 and ($_GET['numbers'])==0)
    $label='Вы неправильно указали числовой набор';
    elseif (($_GET['var'])==0 and ($_GET['email'])==1 and ($_GET['numbers'])==0)
    $label='Вы неправильно указали логин и числовой набор';
    else
    $label='';

    Вывод ошибки

    Dedan, 28 Февраля 2011

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

    +175

    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
    <?php
    echo "<html>";
    echo "<meta http-equiv=\"Content-Language\" content=\"ru\">";
    echo "<meta http-equiv=\"Content-type\" content=\"text/html;charset=windows-1251\">";
    echo "<title>Сайт о программировании</title>";
    echo "<head>";
    echo "<h1>Сайт о программировании</h1>";
    echo "<link rel=\"stylesheet\" href=\"http://www.hut.ru/style.css\" type=\"text/css\">";
    echo "</head>";
    echo "<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#336699\" vlink=\"#336699\" alink=\"#336699\">";
    echo "<a href=\"http://top100.rambler.ru/top100/\"><img src=\"http://counter.rambler.ru/top100.cnt?671399\" alt=\"Rambler's Top100\" width=1 height=1 border=0></a>";
    echo "<p align=\"center\"><a href=\"http://www.hut.ru\"><img src=\"http://www.hut.ru/imgs/logo.gif\" width=\"334\" height=\"48\" border=\"0\" alt=\"Hut.Ru - лучший бесплатный хостинг\"></a> <img src=\"http://www.hut.ru/imgs/pixel.gif\" width=\"186\" height=\"1\" border=\"0\" alt=\"\"> <a href=\"http://www.hut.ru\"><img src=\"http://www.hut.ru/imgs/yctw2.gif\" width=\"230\" height=\"48\" border=\"0\" alt=\"Лучший дом для Вашего сайта!\"></a></p>";
    echo "<h2>Временная страница</h2>";
    echo "<p><a href=../>К оглавлению</a></p>";
    echo "<form action=\"D/\" method=\"post\">";
    echo "<table>";
    echo "<tr><td>Login:</td><td><input type=\"text\" name=\"Login\" value=\"\"></td></tr>";
    echo "<tr><td>Password:</td><td><input type=\"password\" name=\"Password\" value=\"\"></td></tr>";
    echo "</table>";
    echo "<input type=\"submit\" value=\"Войти\">";
    echo "</form>";
    echo "<p><a href=http://www.cyberforum.ru>Киберфорум</a></p>";
    echo "<h3>Гостевая книга</h3>";
    echo "<p><a href=http://www.codesite.hut2.ru/cgi-bin/guestbook/guestbook.pl>Читать</a></p>";
    echo "<p><a href=http://www.codesite.hut2.ru/guestbook.html>Писать</a></p>";
    echo "<p><a href=\"mailto:[email protected]?subject=From the user of the site www.codesite.hut2.ru\">Напиcать администратору сайта</a></p>";
    echo "</body>";
    echo "</html>";
    ?>
    
    -------------------------
    
    <?php
    echo "<html>";
    echo "<meta http-equiv=\"Content-Language\" content=\"ru\">";
    echo "<meta http-equiv=\"Content-type\" content=\"text/html;charset=windows-1251\">";
    echo "<title>Сайт о программировании</title>";
    echo "<head>";
    echo "<h1>Сайт о программировании</h1>";
    echo "<link rel=\"stylesheet\" href=\"http://www.hut.ru/style.css\" type=\"text/css\">";
    echo "</head>";
    echo "<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#336699\" vlink=\"#336699\" alink=\"#336699\">";
    echo "<a href=\"http://top100.rambler.ru/top100/\"><img src=\"http://counter.rambler.ru/top100.cnt?671399\" alt=\"Rambler's Top100\" width=1 height=1 border=0></a>";
    echo "<p align=\"center\"><a href=\"http://www.hut.ru\"><img src=\"http://www.hut.ru/imgs/logo.gif\" width=\"334\" height=\"48\" border=\"0\" alt=\"Hut.Ru - лучший бесплатный хостинг\"></a> <img src=\"http://www.hut.ru/imgs/pixel.gif\" width=\"186\" height=\"1\" border=\"0\" alt=\"\"> <a href=\"http://www.hut.ru\"><img src=\"http://www.hut.ru/imgs/yctw2.gif\" width=\"230\" height=\"48\" border=\"0\" alt=\"Лучший дом для Вашего сайта!\"></a></p>";
    echo "<h2>Временная страница</h2>";
    echo "<p><a href=../../>К оглавлению</a></p>";
    if (/*Здесь проверка и валяется*/)
    {
     echo "<p>Вход произведён.</p>";
     echo "<table border=1 width=100%>";
     echo "<tr>";
     echo "<td>";
     echo "</td>";
     echo "</tr>";
     echo "</table>";
    }
    else
    {
      echo "<p>Не правильный логин/пароль, вернитесь <a href=../>назад</a>.</p>";  
    }
    echo "<p><a href=http://www.cyberforum.ru>Киберфорум</a></p>";
    echo "<h3>Гостевая книга</h3>";
    echo "<p><a href=http://www.codesite.hut2.ru/cgi-bin/guestbook/guestbook.pl>Читать</a></p>";
    echo "<p><a href=http://www.codesite.hut2.ru/guestbook.html>Писать</a></p>";
    echo "<p><a href=\"mailto:[email protected]?subject=From the user of the site www.codesite.hut2.ru\">Напиcать администратору сайта</a></p>";
    echo "</body>";
    echo "</html>";
    ?>

    Я конечно не супер мега кодер, но это убило даже меня

    nepster, 26 Февраля 2011

    Комментарии (19)
  7. Perl / Говнокод #5792

    −102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ($sec,$min,$hour,$mday,$mon,$year) = localtime(time);
    if ($sec < 10) {$sec = "0$sec";}
    if ($min < 10) {$min = "0$min";}
    if ($hour < 10) {$hour = "0$hour";}
    if ($mday < 10) {$mday = "0$mday";}
    if ($mon < 10) {$mon = "0$mon";}
    $mon++;
    $year = 1900 + $year;
    print "[$mday-$mon-$year $hour:$min:$sec]\n";

    Добиваем нулями

    rohard, 24 Февраля 2011

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

    +178

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if($active_days > 4)
    {
    	$active_days = 1;
    }
    else
    {
    	if($active_days > 5)
    	{
    		$active_days = 1;
    	}
    }

    В цикле

    vizio, 21 Февраля 2011

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

    +171

    1. 1
    <?php eval(gzinflate(base64_decode('s7ezsS/IKODl4uVKzkksLlYISS0uUagG8RXSSvOSSzLz88BiGpogUQUFhdTkjHwFJUeFEqCgkjVQqBZVcXF+bmo8iKehkgjTU5RaUlqUp6CSqKCtYATXU2tjDwA='))); ?>

    Сегодня приятель спросил «а есть смысл сжимать PHP» и выдал вот эту хуйню. Сказал, что все свои проекты так сжимает. Как такое поддерживать потом?

    proxor, 15 Февраля 2011

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

    +164

    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
    for($i=0;$i<count($ads_garage);$i++){
    switch($ads_garage[$i]['adv_type']){
      case "buy":
        $adv_type='покупка';
      break;
      case "sell":
        $adv_type='продажа';  
      break;
      case "exchange":
        $adv_type='обмен';
      break;
      case "lease":
        $adv_type='аренда';  
      break;
      case "rent":
        $adv_type='прокат';  
      break;
      case "candidate":
        $adv_type='кандидатура';  
      break;
      case "vacancy":
        $adv_type='вакансия';  
      break;
      case "":
        $adv_type='-';
      break;
    }

    тут такого ещё наверно не было

    DrFreez, 06 Февраля 2011

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

    +146

    1. 1
    2. 2
    //Функция some_function возвращает данные в формате var1=val1&var2=val2
    parse_str(some_function());

    Мой код примерно полуторагодовой давности.
    Разбирал старые проекты встретил и подумал - говно или имеет право на жизнь?
    Классическое

    //Функция some_function возвращает данные в формате val1:val2
    list ($var1, $var2) = explode(':', some_function())
    ведь будет работать медленнее, не так ли? :)

    7ion, 02 Февраля 2011

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