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

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

    +144

    1. 1
    if ((text == '' || text == '\n') && document.getElementById('log').innerHTML == '...')

    Вот такое говнецо я сделал. Надо исправить.
    Следуя лозунгу говнокода "Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!", выкладываю.

    КЭП: document.getElementById('log').innerHTML == '...' - Фэйл, не надо завязываться на содержимое.

    Oleg_quadro, 22 Октября 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //функция конвертации времени в таймстамп, добавлено 08.07.2010
    function convertDate($date){
    	$dateArr = explode(".", $date);
    	$date = mktime(0,0,0,$dateArr[1],$dateArr[0],$dateArr[2]);
    	return $date;
    	
    	// 21.10.2010: а чем strtotime не устраивает?
    }

    И чем strtotime() не устроило, не понятно.

    getrix, 21 Октября 2010

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

    +159

    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
    class Request_BrowserDetector
    {
      public static function singleton()
      {
        if (null === self::$_instance)
        {
          self::$_instance = new self;
        }
        
        return self::$_instance;
      }
      
      protected static $_instance = null;
    
      public function __construct()
      {
        $this->_sigs = Application::singleton()->cfg('request.browser.signatures');
      }
      
      public function detect($str)
      {
        if (isset($this->_cache[$str]))
        {
          $out = $this->_cache[$str];
        }
        else
        {
          $notFound = true;
          
          foreach ($this->_sigs as $k => $v)
          {
            if (false !== strpos($str, $k))
            {
              $out = $v;
              $notFound = false;
              break;
            }
          }
          
          if ($notFound)
          {
            $out = $this->_escape($str);
          }
          
          $this->_cache[$str] = $out;
        }
        
        return $out;
      }
      
      protected function _escape($str)
      {
        return mysql_real_escape_string($str);
      }
      
      protected $_sigs, $_cache = array();
    }

    синглетон такой, синглетон

    seonull, 20 Октября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    if(count($db->AffectedRows()) > 0) {
    // *** Инсертим данные в таблицу***
    }

    Мартин, 13 Октября 2010

    Комментарии (9)
  6. Java / Говнокод #4335

    +114

    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
    public  void doGet(HttpServletRequest request, HttpServletResponse  response)
            throws IOException, ServletException {
    ....
              conn=getConnection();
              cst = conn.prepareCall("{?=call getSheetReviseResult(?)}",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
              cst.registerOutParameter(1, java.sql.Types.INTEGER);
              cst.setInt(2,DocId);
              cst.execute();
              rs=cst.getResultSet();
              StringBuffer buff = new StringBuffer(4096);
              response.setContentType("text/xml; charset=windows-1251");
              response.setHeader("Cache-Control", "no-cache");
              buff.append("<?xml version='1.0' encoding='windows-1251'?><result>");
              while (rs.next()){
                  buff.append("<login><![CDATA[");
                    buff.append(rs.getString(1));
                  buff.append("]]></login>");
                  buff.append("<name><![CDATA[");
                    buff.append(rs.getString(2));
                  buff.append("]]></name>");
                  buff.append("<bus><![CDATA[");
                    buff.append(rs.getString(3));
                  buff.append("]]></bus>");
                  buff.append("<error>");
                  buff.append(rs.getString(4));
                  buff.append("</error>");
             }
             buff.append("</result>");
        response.getOutputStream().write(buff.toString().getBytes("windows-1251"));

    достался в наследство большой пак с сервлетами.
    все написаны примерно таким вот образом

    3.14159265, 11 Октября 2010

    Комментарии (9)
  7. Java / Говнокод #4322

    +86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    double a = 47, b = 94;
    
            for (;; a += .5, b -= .5) {
                if (a == b) {
                    System.out.println(a);
                    break;
                }
            }

    ...ищем среднее.. (a+b)/2 категорически нельзя..

    Bodia, 09 Октября 2010

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

    +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
    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
    <? include ("header.php");
    include ("../setup.php");
    $resultg=mysql_query("select * from seting ");
    $rog=mysql_fetch_array($resultg);
    ?>
    
    <center><h4><font color=7C87C2>Настройка Казино</font></h4><br></center>
    
    
    <table border="0" align="center" cellpadding="0" cellspacing="10">
    <FORM action=config.php method=post>
    <TR><td>Логин админа : </td><TD><INPUT size=40 name=alog value=<? echo $rog[0] ?>></TD></TR>
    <TR><td>Пароль админа </td><TD><INPUT size=40 name=apas value=<? echo $rog[1] ?>></TD></TR>
    <TR><td>Email казино</td><TD><INPUT size=40 name=adm_email value=<? echo $rog[2] ?>></TD></TR>
    <TR><td>ICQ казино (если нет то пусто)</td><TD><INPUT size=40 name=icq value=<? echo $rog['icq'] ?>></TD></TR>
    <TR><td>url казино (начиная с http:// и без "/" конце)</td><TD><INPUT size=40 name=cas_url value=<? echo $rog[3] ?>></TD></TR>
    <TR><td>Название казино</td><TD><INPUT size=40 name=cas_name value=<? echo $rog[4] ?>></TD></TR>
    <TR><td>Партнерские</td><TD><INPUT size=20 name=pcash value=<? echo $rog['pcash'] ?>> %</TD></TR>
    
    <TR><td><b>Высылать Email админу:</b></td><TD></TD></TR>
    <TR><td>При пополнение счета</td><TD><input type=checkbox name="paymail" value="yes"<? if($rog["paymail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
    <TR><td>Зарегился новый игрок</td><TD><input type=checkbox name="regmail" value="yes"<? if($rog["regmail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
    <TR><td>Вывод средств</td><TD><input type=checkbox name="zakmail" value="yes"<? if($rog["zakmail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
    
    <TR>
    
    <td bgcolor="#FFFFFF"><font face="Verdana" size="2">
    
    <span style="background-color: #FFFFFF">Сумма ежедневных бонусов WMR(разделитель .)</span></font></td>
    
    <TD bgcolor="#FFFFFF"><font face="Verdana">
    
    <INPUT size=10 name=us_bonus value="<? echo $rog['bonus'] ?>"></font></TD>
    
    </TR>
    
    
    <TR><td><b>Настройка Roboxchange.com</b></td><TD></TD></TR>
    <TR><td>LOGIN в Robox</td><TD><INPUT size=40 name=mrh_login value=<? echo $rog[5] ?>></TD></TR>
    <TR><td>PASS1 в Robox</td><TD><INPUT size=40 name=mrh_pass1 value=<? echo $rog[6] ?>></TD></TR>
    <TR><td>PASS2 в Robox</td><TD><INPUT size=40 name=mrh_pass2 value=<? echo $rog[7] ?>></TD></TR>
    
    <TR><TD><INPUT type=hidden value=1 name=send><INPUT type=hidden value=<? echo $rog[cas_bon] ?> name=cas_bon><INPUT type=submit value="Сохранить"></TD></TR>
    </FORM>
    </table>
    
    
    <?
    
    if ($send=="1"){
    mysql_query("UPDATE seting SET alog='$alog',apas='$apas',adm_email='$adm_email',cas_url='$cas_url',cas_name='$cas_name',mrh_login='$mrh_login',mrh_pass1='$mrh_pass1',mrh_pass2='$mrh_pass2',pcash='$pcash',cas_bon='$cas_bon',bonus='$us_bonus',paymail='$paymail',regmail='$regmail',zakmail='$zakmail',icq='$icq'");
    echo "<script> alert('Настройки сохранены!'); document.location.href='config.php';</script>";
    }
    
    include ("footer.php"); ?>

    Кусок Скрипта готового Казино

    Vasiliy, 17 Сентября 2010

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

    +155

    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
    typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING344 : boost::mpl::assert_ {
    
      static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) {
        return 0;
      }
    } mpl_assert_arg344;
    
    typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING375 : boost::mpl::assert_ {
    
      static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) {
        return 0;
      }
    } mpl_assert_arg375;
    
    template< typename Pred >
    failed ************ (Pred::************
      assert_arg(void (*)(Pred), typename assert_arg_pred<Pred>::type)
      );
    
    template< typename Pred >
    failed ************ (boost::mpl::not_<Pred>::************
      assert_not_arg(void (*)(Pred), typename assert_arg_pred_not<Pred>::type)
      );

    В том что boost'овские библиотеки достаточно хорошо оптимизированы я не сомневаюсь, но от некоторых конструкций я просто охреневаю...

    rudvil, 08 Сентября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Но имей ввиду, в реали, когда на работу пойдёшь, в СУБД у тебя уже скорее всего будет помойка, в том числе с триггерами. 
    К этому надо привыкнуть, так как никакие уговоры убрать триггера на «товарищей» не подействуют, наоборот разозлят, 
    над тобой будут смеяться и скажут, что крутые пацаны работают только на триггерах.
    От хакерских атак одно подключение не спасёт, это я просто так высмеиваю шибко «умных» людей.
    
    Eсть другая идея - на странице регистрации высвети кнопки с цифрами и алфавитом чтобы пользователь вводил пароль не с клавиатуры,
     а щёлкая мышью по кнопкам. Сами кнопки можешь в случайном порядке расположить.
    Потом мы вместе с тобой будем над хакерами смеяться.

    Max Pro рассуждает на тему безопасности.
    http://sql.ru/forum/actualthread.aspx?tid=787435
    тут пытаемся выманить его на разговор про серверный жаваскрипт
    http://www.sql.ru/forum/memberinfo.aspx?mid=14149
    тут ссылка на его профиль раз
    http://www.aspnetmania.com/Users/User/1614.html
    тут ссылка на профиль два.
    сообщения доставляют
    http://aspnetmania.com/Blogs/1614.html
    тут старый блог

    ursus, 06 Сентября 2010

    Комментарии (9)
  11. JavaScript / Говнокод #4141

    +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
    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
    // Saves options to localStorage.
    function save_options() {
    	if(document.getElementById("rate").checked == true) {localStorage["rate"] = 1;}
    else{localStorage["rate"] = 0;}
    	if(document.getElementById("transparentmenu").checked == true) {localStorage["transparentmenu"] = 1;}
    else{localStorage["transparentmenu"] = 0;}
    	if(document.getElementById("sidebarfix").checked == true) {localStorage["sidebarfix"] = 1;}
    else{localStorage["sidebarfix"] = 0;}
    	if(document.getElementById("menufix").checked == true) {localStorage["menufix"] = 1;}
    else{localStorage["menufix"] = 0;}
    	if(document.getElementById("away").checked == true) {localStorage["away"] = 1;}
    else{localStorage["away"] = 0;}
    	if(document.getElementById("music").checked == true) {localStorage["music"] = 1;}
    else{localStorage["music"] = 0;}
    	if(document.getElementById("smiles").checked == true) {localStorage["smiles"] = 1;}
    else{localStorage["smiles"] = 0;}
    	if(document.getElementById("chat").checked == true) {localStorage["chat"] = 1;}
    else{localStorage["chat"] = 0;}
    	if(document.getElementById("wide").checked == true) {localStorage["wide"] = 1;}
    else{localStorage["wide"] = 0;}
    	if(document.getElementById("oblivionbook").checked == true) {localStorage["oblivionbook"] = 1;}
    else{localStorage["oblivionbook"] = 0;}
    	if(document.getElementById("darkblue").checked == true) {localStorage["darkblue"] = 1;}
    else{localStorage["darkblue"] = 0;}
    	if(document.getElementById("mailcollor").checked == true) {localStorage["mailcollor"] = 1;}
    else{localStorage["mailcollor"] = 0;}
    	if(document.getElementById("savetext").checked == true) {localStorage["savetext"] = 1;}
    else{localStorage["savetext"] = 0;}
    	if(document.getElementById("groupsalign").checked == true) {localStorage["groupsalign"] = 1;}
    else{localStorage["groupsalign"] = 0;}
    	if(document.getElementById("vkcom").checked == true) {localStorage["vkcom"] = 1;}
    else{localStorage["vkcom"] = 0;}
    	if(document.getElementById("messege").checked == true) {localStorage["messege"] = 1;}
    else{localStorage["messege"] = 0;}
    	if(document.getElementById("ads").checked == true) {localStorage["ads"] = 1;}
    else{localStorage["ads"] = 0;}
    	if(document.getElementById("lmessege").checked == true) {localStorage["lmessege"] = 1;}
    else{localStorage["lmessege"] = 0;}
    	if(document.getElementById("video").checked == true) {localStorage["video"] = 1;}
    else{localStorage["video"] = 0;}
    	if(document.getElementById("stylewow").checked == true) {localStorage["stylewow"] = 1;}
    else{localStorage["stylewow"] = 0;}
    	if(document.getElementById("rayman").checked == true) {localStorage["rayman"] = 1;}
    else{localStorage["rayman"] = 0;}
    	if(document.getElementById("styletf2").checked == true) {localStorage["styletf2"] = 1;}
    else{localStorage["styletf2"] = 0;}
    	if(document.getElementById("stylestandard").checked == true) {localStorage["stylestandard"] = 1;}
    else{localStorage["stylestandard"] = 0;}
    	if(document.getElementById("stylewinter").checked == true) {localStorage["stylewinter"] = 1;}
    else{localStorage["stylewinter"] = 0;}
    	if(document.getElementById("stylewide").checked == true) {localStorage["stylewide"] = 1;}
    else{localStorage["stylewide"] = 0;}
    	if(document.getElementById("styledarkforest").checked == true) {localStorage["styledarkforest"] = 1;}
    else{localStorage["styledarkforest"] = 0;}
    	if(document.getElementById("stylegray").checked == true) {localStorage["stylegray"] = 1;}
    else{localStorage["stylegray"] = 0;}
    	if(document.getElementById("styledarkkde").checked == true) {localStorage["styledarkkde"] = 1;}
    else{localStorage["styledarkkde"] = 0;}
    	if(document.getElementById("friendsonline").checked == true) {localStorage["friendsonline"] = 1;}
    else {localStorage["friendsonline"] = 0;}
    	if(document.getElementById("removeheader").checked == true) {localStorage["removeheader"] = 1;}
    else {localStorage["removeheader"] = 0;}
    }

    Сохранение настроек в одном расширении для Google Chrome. Восстановление такого же плана...

    Proxeter, 01 Сентября 2010

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