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

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

    +163

    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
    // what version of MySQL
    	$mysql = $db->query_first("SELECT VERSION() AS version");
    	$mysql = $mysql['version'];
    
    	// Post count
    	$posts = $db->query_first("SELECT COUNT(*) AS total FROM " . TABLE_PREFIX . "post");
    	$posts = $posts['total'];
    
    	// User Count
    	$users = $db->query_first("SELECT COUNT(*) AS total FROM " . TABLE_PREFIX . "user");
    	$users = $users['total'];
    
    	// Forum Count
    	$forums = $db->query_first("SELECT COUNT(*) AS total FROM " . TABLE_PREFIX . "forum");
    	$forums = $forums['total'];
    
    	// Usergroup Count
    	$usergroups = $db->query_first("SELECT COUNT(*) AS total FROM " . TABLE_PREFIX . "usergroup");
    	$usergroups = $usergroups['total'];
    
    	// First Forum Post
    	$firstpost = $db->query_first("SELECT MIN(dateline) AS firstpost FROM " . TABLE_PREFIX . "post");
    	$firstpost = $firstpost['firstpost'];
    
    	// Last upgrade performed
    	$lastupgrade = $db->query_first("SELECT MAX(dateline) AS lastdate FROM " . TABLE_PREFIX . "upgradelog");
    	$lastupgrade = $lastupgrade['lastdate'];

    от туда же
    плять... сюда надо весь форум постить
    нахер архив сношу к еб**ям

    Sulik78, 21 Февраля 2011

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

    +158

    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
    if ($_GET[action] == "avatar") {
    
    
    	if ($info = $_GET[info]) {
    
    			if ($info[avatar]) {
    				echo $info[avatar];
    			} else {
    					header("Content-type: image/png");
    
    					$im = imagecreatetruecolor(80, 80);
    					$white = imagecolorallocate($im, 255, 255, 255);
    					$grey = imagecolorallocate($im, 128, 128, 128);
    					$black = imagecolorallocate($im, 0, 0, 0);
    					imagefilledrectangle($im, 0, 0, 80, 80, $white);
    					$font = "fonts/avatar.ttf";
    
    					$text = "HET";
    					imagettftext($im, 20, 0, 15, 40, $grey, $font, $text);
    					imagettftext($im, 20, 0, 14, 39, $black, $font, $text);
    					$text = "ABATAPA";
    					imagettftext($im, 14, 0, 5, 55, $grey, $font, $text);
    					imagettftext($im, 14, 0, 4, 54, $black, $font, $text);
    					imagepng($im);
    					imagedestroy($im);
    			}
    	} else {
    					header("Content-type: image/png");
    
    					$im = imagecreatetruecolor(80, 80);
    					$white = imagecolorallocate($im, 255, 255, 255);
    					$grey = imagecolorallocate($im, 128, 128, 128);
    					$black = imagecolorallocate($im, 0, 0, 0);
    					imagefilledrectangle($im, 0, 0, 80, 80, $white);
    					$font = "fonts/avatar.ttf";
    
    					$text = "HET";
    					imagettftext($im, 20, 0, 15, 40, $grey, $font, $text);
    					imagettftext($im, 20, 0, 14, 39, $black, $font, $text);
    					$text = "ABATAPA";
    					imagettftext($im, 14, 0, 5, 55, $grey, $font, $text);
    					imagettftext($im, 14, 0, 4, 54, $black, $font, $text);
    					imagepng($im);
    					imagedestroy($im);	
    	}
    
    }

    Вот такое говнецо встретилось))

    Sulik78, 19 Февраля 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    } elseif ($go == 4) {
    	include("function/no-cache.php");
    	include("config/config_uploads.php");
    	switch($go) {
    		default:
    		$con = explode("|", $confup[$mod]);
    		upload(2, "uploads/".$mod."", $con[0], $con[2], $mod, $con[3], $con[4]);
    		break;
    	}
    }

    http://www.slaed.net/files-view-1103.html

    111111, 18 Февраля 2011

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

    +160

    1. 1
    2. 2
    3. 3
    if (RENAME_FILE) {
          $dest_filename = md5(uniqid(rand(), true)) . '.' . $file_ext;
        }

    Рандом, рандом, еще рандом!

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

    Комментарии (5)
  6. Perl / Говнокод #5644

    −123

    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
    my %tbl;
    $tbl{'koi'}="БВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭШЩЯЬАСбвчздецъйклмнопртуфхжигюыэшщяьас";
    $tbl{'win'}="абвгдежзийклмнопрстуфхцчшщьыъэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ";
    ...
        if ($filename=~/^http:\/\//) {
            my ($header, $page)=getpage($filename);
            if ($page!~/\S/) {next;}
            if ($header=~/Charset.*koi/i) {
                eval("\$page=~tr/$tbl{'koi'}/$tbl{'win'}/");            
            }
            open(OUT, ">$tmpfile");
            print OUT $page;
            close OUT;
            open(NEWS, "$tmpfile");
        } else {
            open(NEWS, "$config::rubricsroot/$filename") || do {warn "Не могу открыть файл новостей: $!"; next;};
        }

    #5624 спровоцировал. Хотел запостить только перекодировку, но не смог удержаться, тут перлы в комплексе.
    1) Свой велосипед для получения странички по http через IO::Socket (это отдельная большая песня, может спою потом).
    2) Перекодировка из koi8r в cp1251, если нужно. Обратите внимание на элегантный eval.
    3) Подстановка результата для дальнейшей построчной обработки через временный файл.

    И не говорите мне о том, какой плохой язык PHP.

    gegMOPO4, 11 Февраля 2011

    Комментарии (5)
  7. Pascal / Говнокод #5642

    +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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    procedure TMainForm.ApplicationEventsShortCut(var Msg: TWMKey;
      var Handled: Boolean);
    begin
      if msg.CharCode <> vk_F11 then
        exit;
      raise Exception.Create('Вы хотите выйти из программы?');
    end;
    
    procedure TMainForm.ApplicationEventsException(Sender: TObject;
      E: Exception);
    begin
      if Application.MessageBox(pchar('Произошла ошибка:'#13#10 + e.Message
        +
        #13#10'Нажмите Retry продолжить работу c программой.'#13#10'Нажмите Сancel чтобы завершить работу программы.'),
        'Ошибка', MB_RETRYCANCEL or MB_ICONINFORMATION or MB_SYSTEMMODAL) =
        ID_CANCEL then try
        MainData.MainDataBaseBeforeDisconnect(nil);
        Close;
      finally
        Application.Terminate;
      end;
      if not CaptureError(E) then
        Close;
    end;

    предыдущий автор одного проекта таким вот нетривиальным образом сделал подтверждение выхода из программы. так понравилось, что не стал убивать, просто закомментарил. сейчас весть этот код заменен одной строчкой в OnCloseQuery.

    поясню, на всякий случай. по нажатию F11 поднимается эспепшен "Вы хотите выйти из программы?", этот экспепшен перехватывается на уровне TApplication, выводится сообщение "Произошла ошибка: "Вы хотите выйти из программы?"" с педалями "Retry" и "Cancel", и при нажатии на отмену прога тупо рубиться по Application.Terminate.

    непростое детство было у песателя, по ходу.

    x77, 11 Февраля 2011

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

    +154

    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
    // Parse strings looking for color tuples [255,255,255]
    function getRGB(color) {
      var result;
      if (color && isArray(color) && color.length == 3)
        return color;
      if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
        return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];
      if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
        return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];
      if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
        return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];
      if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
        return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];
    }

    InstantI, 11 Февраля 2011

    Комментарии (5)
  9. Куча / Говнокод #5617

    +137

    1. 1
    <div style="height: 1px; line-height: 0.1; overflow: hidden; font-size: 12px; color: #fff;">999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 </div><!--Распорка для float:left-->

    yvu, 10 Февраля 2011

    Комментарии (5)
  10. C++ / Говнокод #5605

    +161

    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
    // из объявления класса
    ...
        float   _x_3DMin;         /**< Min X value */
        float   _x_3DMax;         /**< Max X value */
        float   _z_3DMin;         /**< Min Z depth value */
        float   _z_3DMax;         /**< Max Z depth value */
    
        /* 2D seismic variables */
        float   _x_2DMin;         /**< Min X value */
        float   _x_2DMax;         /**< Max X value */
        float   _z_2DMin;         /**< Min Z depth value */
        float   _z_2DMax;         /**< Max Z depth value */
    
        /* No seismic selection variables */
        float   _xMin;         /**< Min X value */
        float   _xMax;         /**< Max X value */
        float   _zMin;         /**< Min Z depth value */
        float   _zMax;         /**< Max Z depth value */
    
    ...
    
    void SeismicSelectionDG::initMembers()
    {
      // initialise values
      _x_3DMin = 0.0F;
      _x_3DMax = 0.0F;
      _z_3DMin = 0.0F;
      _z_3DMax = 0.0F;
    
      _x_2DMin = 0.0F;
      _x_2DMax = 0.0F;
      _z_2DMin = 0.0F;
      _z_2DMax = 0.0F;
    
      _xMin = 0.0F;
      _xMax = 0.0F;
      _zMin = 0.0F;
      _zMax = 0.0F;
    
      ...
    }

    Ну и весь остальной код состоит из этих говно-паттернов. Об абстракциях товарищ понятия не имеет.

    kitaec, 09 Февраля 2011

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SeismicDriver* SeismicSelectionDG::seismicDriver()
    {
      Exf2dMW* mw = Exf2dMW::getMW(this);
      _seismicDriver = mw->seismicDriver();
      if ( !mw || !_seismicDriver)
        return 0;
    
      return _seismicDriver;
    }

    Все тот же коллега китаец. Exf2dMW - класс главного окна приложения. Во-первых бесмыссленно проверять его на 0, потому что без него вообще бы ничего не работало, но и как видно проверяет его он все равно не там. Ну и проверка на 0 _seismicDrvier тоже лишняя. Итог никакие проверки не нужны да и вообще первую строку в методе можно перенести в конструктор а возвращать член класса _seismicDriver.

    kitaec, 09 Февраля 2011

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