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

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

    +144.7

    1. 1
    $password = $password; // Возможно, в дальнейшем надо будет изменить строку ...

    Нашел у себя в описании старого класса (user class) =D

    SOKOJI, 07 Января 2010

    Комментарии (2)
  3. Python / Говнокод #2345

    −409.2

    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
    import urllib, sys, string
    from string import maketrans
    
    bbb = 0
    
    f = urllib.urlopen("http://www.pythonchallenge.com/pc/def/equality.html")
    while 1:
        buf = f.read(200000)
        if not len(buf):
            break
        for x in range(len(buf)):
            if buf[x] in string.ascii_lowercase:
               if buf[x+1] in string.ascii_uppercase:
                   if buf[x-1] in string.ascii_uppercase:
                       if buf[x+2] in string.ascii_uppercase:
                           if buf[x-2] in string.ascii_uppercase:
                               if buf[x+3] in string.ascii_uppercase:
                                   if buf[x-3] in string.ascii_uppercase:
                                       if buf[x+4] in string.ascii_lowercase:
                                           if buf[x-4] in string.ascii_lowercase:
                                               bbb = x
        sys.stdout.write(buf)
        print(buf[bbb-3:bbb+4])

    http://stackoverflow.com/questions/1972693/python-challenge-level-3

    ods, 29 Декабря 2009

    Комментарии (2)
  4. Ruby / Говнокод #2336

    −126.7

    1. 1
    <li class="list_item primary_card_<%= index+1 %> <%= primary_card.patient.sex == 'male' ? 'boy' : 'girl' %> critical">

    А можно было изменить имя класса в CSS

    nimnull, 26 Декабря 2009

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

    +155.2

    1. 1
    setEvent((a,b,c){i=(a==this)?this:return document.getElementById(a);i.on+b=c}})

    fuckyounoob, 24 Декабря 2009

    Комментарии (2)
  6. JavaScript / Говнокод #2317

    +166.4

    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 InitializeSubmenu(submenucontainerid, tablecellroid, tablecellid, fname) { 
    var s = "";
    s = s + "function " + fname + "() { ";
    s = s + "document.getElementById(submenucontainerid).style.visibility='';";
    s = s + "BringToFront(submenucontainerid);";
    s = s + "}";
    if ((index = navigator.userAgent.indexOf("MSIE")) >= 0)
    s = s + "document.getElementById('" + tablecellid + "').attachEvent(\"onmouseover\", " + fname + ");";
    else
    s = s + "document.getElementById('" + tablecellid + "').addEventListener(\"mouseover\", " + fname + ", true);";
    s = s + "document.getElementById(tablecellroid).onclick = function() {";
    s = s + "if( document.createEvent ) {";
    s = s + "var evObj = document.createEvent('MouseEvents');";
    s = s + "evObj.initEvent( 'click', true, false );";
    s = s + "document.getElementById(tablecellid).dispatchEvent(evObj);";
    s = s + "} else if( document.createEventObject ) {";
    s = s + "document.getElementById(tablecellid).fireEvent('onclick');";
    s = s + "}";
    s = s + "}";
    eval(s);
    }

    Как говориться, "eval() is evil" :-)
    http://stackoverflow.com/questions/197769/when-is-javascripts-eval-not-evil

    ramanowski, 23 Декабря 2009

    Комментарии (2)
  7. PHP / Говнокод #2308

    +159.6

    1. 1
    $str .= $style!="" ? " class=\"active\"" : " class = \"active\"";

    Модуль меню в Joomla.
    (при том. что $style неопределён)

    dmarco, 22 Декабря 2009

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

    +157.1

    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
    if(isset($input['submitted']))	
                	{
                    mysql_query("UPDATE modules SET loading = 0");
                    $query = mysql_query("SELECT class from modules");
                   
                    while(list($cl) = mysql_fetch_row($query))
                      {
                       
                       if(strtolower($input[$cl]) == "on")
                       {
                         mysql_query("UPDATE modules SET loading = 1 WHERE class = '".$cl."'");
                       }
                      }
                        mysql_query("UPDATE modules SET loading =1 WHERE class='conf'");
                        print "<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=?class=conf&action=control\">";
                 	}
                  
        	    $query = mysql_query("SELECT class,loading FROM modules");
                while($data = mysql_fetch_row($query)) $load[$data[0]] = $data[1];
                print "<table border=\"1\" style=\"border-style:solid\" cellpadding=\"5\" cellspacing =\"2\">\n";
                  print "<form method=\"post\">\n<input type=\"hidden\" name=\"class\" value=\"conf\"><input type=\"hidden\" name=\"action\" value=\"control\">\n<tr><td class=\"text\" align=\"center\"><b>Название</b></td><td class=\"text\" align=\"center\"><b>Описание</b></td><td class=\"text\" align=\"center\"><b>Файлы</b>\n
                </td><td class=\"text\"><b>Загружается</b></td></tr>";
    			$query = mysql_query("SELECT * FROM modules") or die(mysql_error());
                while($data = mysql_fetch_array($query))
                {
    	    		print "<tr><td class=\"text\">".$data['title']."</td><td class=\"text\">".$data['descr']."</td><td class=\"text\">";
    		    	$_f = explode("\n",trim($data['files']));
                    $c = count($_f);
        			for($i=0;$i<$c;$i++)print $_f[$i]."<br>\n";
                    print "</td><td class=\"text\"><input type=\"checkbox\" name=\"".$data['class']."\" ";
                    if($load[$data['class']] == 1) print "CHECKED";
                    print " ></td></tr>";
                }
                print "</table>\n";
                print "<input type=\"hidden\" name=\"submitted\" value=\"1\">\n";
                print "<br><input type=\"submit\" value=\"Применить\"></form>";

    nolka4, 18 Декабря 2009

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

    +76.5

    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
    java.util.Date from = dateFromAndToMap.get("from");
            java.util.Date to = dateFromAndToMap.get("to");
            java.sql.Date fromD;
            java.sql.Date toD;
            Long year2100 = Long.valueOf(64060495200000l);
            if (from != null) {
                fromD = new java.sql.Date(from.getTime());
            } else {
                fromD = new java.sql.Date(0);
            }
            if (to != null) {
                toD = new java.sql.Date(to.getTime());
            } else {
                toD = new java.sql.Date(year2100.longValue());
            }

    Год апокалипсиса приложения :) А календарь придумали лузеры, а мы не ищем легких путей ведь перед апокалипсисом все равны

    johnsoft, 17 Декабря 2009

    Комментарии (2)
  10. Perl / Говнокод #2287

    −110.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    my $style_doc = $parser->parse_string(q~
       ... Здесь идёт нормальный такой шаблон xslt
    ~);
    my $stylesheet = $xslt->parse_stylesheet($style_doc);
    
    my $results = $stylesheet->transform( $source );
    my $shit = $stylesheet->output_string($results);
    
    $shit =~ s%(<table.*?<table.*?</table>.*?</table>)\s*(<table.*?<table.*?</table>.*?</table>)\s*(<table.*?<table.*?</table>.*?</table>)%<tr><td valign="top">$1</td><td valign="top">$2</td><td valign="top">$3</td></tr>%gs;
    
    $shit = qq{<table cellpadding="0" cellspacing="8" border="0">${shit}</table>};
    print 'document.write('.JsUtils::js_object($shit).');';

    В xslt, очевидно, всё не осилили - добъём регуляркой :)

    Suor, 16 Декабря 2009

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

    +139.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var viewsId = new List<int>(views.Select(v => v.ViewId).Distinct());
    
    var sviewsId = "," + String.Join(",", viewsId.Select(i => i.ToString()).ToArray()) + ",";
    
    _total = (from d in context.TableA
                                      join uvd in context.TableB on d.DocID equals uvd.DocID
                                      join uv in context.TableC on uvd.ID equals uv.ID
                                      where sviewsId.IndexOf("," + uv.ID.ToString() + ",") > 0
                                      select d.DocID)
                                      .Distinct ()
                                      .Count ();

    Оригинальный способ обойти ограничение на 2100 параметров. А как быстро оно будет работать!
    views, разумеется, из того же контекста.

    eval_2009, 16 Декабря 2009

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