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

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

    +152.9

    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
    procedure tplayext.play(iname:string);
    begin
    cd:=false;
    try
    form1.MediaPlayer1.Close;
    form1.MediaPlayer1.filename:=iname;
    form1.label10.Caption:=iname;
    form1.MediaPlayer1.Open;
    form1.MediaPlayer1.play;
    except
    next;
    cd:=true;
    end;
    end;
    procedure tplayext.init(iext:string);
    begin
    name:='';
    paused:=false;
    allplayed:=false;
    ext:=iext;
    TRY
    io:=findfirst(ext,faanyfile,f);
    EXCEPT
    END;
    if io<>0 then
    begin
     done;
     exit;
    end;
    name:=f.Name;
    play(name);
    end;
    procedure tplayext.playplease;
    begin
    if stoped then next;
    end;
    procedure tplayext.next;
    begin
    TRY
    io:=findnext(f);
    EXCEPT
    END;
    if io <>0 then
    begin
     done;
     exit;
    end;
    name:=f.Name;
    play(name);
    end;
    procedure tplayext.done;
    begin
    TRY
    form1.MediaPlayer1.close;
    findclose(f);
    EXCEPT
    END;
    allplayed:=true;
    end;

    Особенно прикалывает вызов метода play в методе next и вызов метода next в методе play.
    Рекурсия!!!!!1111

    Говногость, 13 Марта 2010

    Комментарии (1)
  3. Java / Говнокод #2757

    +71

    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
    String ID = httpServletRequest.getParameter("id");
            ChannelData data = new ChannelData();
    
            int pointPos = ID.indexOf(';');
    
            while(pointPos >= 0) {
                String CurrentID = ID.substring(0, pointPos);
                data.setId(new Integer(CurrentID));
    
               ChannelData channel = (ChannelData) channelDao.Get(Integer.valueOf(CurrentID));
    
                channelService.delete(data);
                ID = ID.substring(pointPos + 1, ID.length());
                pointPos = ID.indexOf(';');
            }
            if(ID.length() > 0) {
                ChannelData channel = (ChannelData) channelDao.Get(Integer.valueOf(ID));
                data.setId(new Integer(ID));
                channelService.delete(data);
            }

    prop, 11 Марта 2010

    Комментарии (1)
  4. Java / Говнокод #2713

    +73.8

    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
    List<SomeObj> list = getTodayObjects();
    .....
    int i = list.size() - 1;
    for (; i >= 0; i--) {
        SomeObj oldState = list.get(i);
        if (currentObj.getTimestamp() - oldState.getTimestamp() >= 5 * MINUTE) {
            value5MinAgo = oldState.getValue();
            break;
        }
    }
    for (; i >= 0; i--) {
        SomeObj oldState = list.get(i);
        if (currentObj.getTimestamp() - oldState.getTimestamp() >= 15 * MINUTE) {
            value15MinAgo = oldState.getValue();
            break;
        }
    }
    for (; i >= 0; i--) {
        SomeObj oldState = list.get(i);
        if (currentObj.getTimestamp() - oldState.getTimestamp() >= 30 * MINUTE) {
            value30MinAgo = oldState.getValue();
            break;
        }
    }
    for (; i >= 0; i--) {
        SomeObj oldState = list.get(i);
        if (currentObj.getTimestamp() - oldState.getTimestamp() >= 60 * MINUTE) {
            value60MinAgo = oldState.getValue();
            break;
        }
    }
    .....

    фанданго, не иначе

    Anonimous, 04 Марта 2010

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

    +133.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
    <form method="post" name="badlink" id="f6F9kL" style="margin: 0pt;" onsubmit="fun6F9kL();return false;"> 
    
    <script type="text/javascript"> 
    $.post('/index/', { 
    f1: '[email protected]', 
    f2: 0, 
    f3: 'Нерабочая ссылка!' , 
    sbm: 0, 
    id: 0, 
    a: 0, 
    o: 0 
    </form> 
    
    <script type="text/javascript">var sblmb1=0;function fun6F9kL(){try {var tr=checksubmit();if(!tr){return false;}}catch(e){}if (sblmb1==1){return false;}sblmb1=1;};document.badlink.f5.value=document.location.href;</script> 
    
    <a href="javascript://" onClick="if (confirm('Вы уверены, что ссылка нерабочая?')){document.badlink.sbm.click();};return false;"><b>Сообщить о нерабочей ссылке</b></a>

    "Жалоба на нерабочую ссылку". Взято отсюда http://megasoft.3dn.ru/forum/16-146235-1145387-16-1267290351

    Infamous, 27 Февраля 2010

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

    +161.7

    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
    function payForFiles(){
    var hid,tak,elems,num,pat,j,i;
    hid = document.getElementById("hidden");
    tak = new Array();
    elems = document.getElementsByTagName('A');
    num = elems.length;
    pat = new RegExp("(^|\\b)(takru)(\\b|$)");
    j = 0;
    for (i=0;i<num;i++){
    if(pat.test(elems[i].className)){
    elems[i].setAttribute('target','_blank');
    if (elems[i].addEventListener)
    elems[i].addEventListener("click", function(){hid.style.display = ""}, false);
    else if (elems[i].attachEvent)
    elems[i].attachEvent("onclick", function(){hid.style.display = ""});
    else elems[i].onclick = function(){hid.style.display = ""};
    j++;}
    }
    };

    Типа "скачивание после клика на рекламу". Было найдено здесь — http://troiua-alfa.3dn.ru/publ/ucoz_skript_skachivanie_posle_nazhatija_ na_reklamu/27-1-0-99

    Infamous, 27 Февраля 2010

    Комментарии (1)
  7. JavaScript / Говнокод #2606

    +153.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
    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
    var xmlhttp
    var dlid;
    
    function showHint(id)
    {
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
      {
      alert ("Your browser does not support XMLHTTP!");
      return;
      }
    dlid="dl"+id;
    var url="download.php";
    xmlhttp.onreadystatechange=stateChanged;
    xmlhttp.open("GET",url+"?update="+id,false);
    xmlhttp.send(null);
    window.location=url+"?id="+id;
    }
    
    function stateChanged()
    {
    if (xmlhttp.readyState==4)
      {
      document.getElementById(dlid).innerHTML=xmlhttp.responseText;
      }
    }
    
    function GetXmlHttpObject()
    {
    if (window.XMLHttpRequest)
      {
      // code for IE7+, Firefox, Chrome, Opera, Safari
      return new XMLHttpRequest();
      }
    if (window.ActiveXObject)
      {
      // code for IE6, IE5
      return new ActiveXObject("Microsoft.XMLHTTP");
      }
    return null;
    }

    Разбираюсь с AJAX

    ko4epblzka, 12 Февраля 2010

    Комментарии (1)
  8. Куча / Говнокод #2598

    +132.9

    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
    $html .= "\n" . '<script type="text/javascript">' . "\n";
    
            // mootools js that highlights the cells
            for ($row = 0; $row < 5; $row++){
                for ($col = 0; $col < 5; $col++){
                    $box_num = ($col*5) + $row + 1;
                    if (!in_array($box_num, $strength_boxes)){
                        $html .= '
    var fx_strength_'.$box_num.' = new Fx.Morph($(\'colorbox_'.$box_num.'\'), {duration:200, wait:false});
    $(\'strengths\').addEvent(\'mouseenter\', function(){
        fx_strength_'.$box_num.'.start({
            \'opacity\': 0.25
        });
    });
    $(\'strengths\').addEvent(\'mouseleave\', function(){
        fx_strength_'.$box_num.'.start({
            \'opacity\': 1.0
        });
    });
    ';
                    }
                    if (!in_array($box_num, $weakness_boxes)){
                        $html .= '
    var fx_weakness_'.$box_num.' = new Fx.Morph($(\'colorbox_'.$box_num.'\'), {duration:200, wait:false});
    $(\'weaknesses\').addEvent(\'mouseenter\', function(){
        fx_weakness_'.$box_num.'.start({
            \'opacity\': 0.25
        });
    });
    $(\'weaknesses\').addEvent(\'mouseleave\', function(){
        fx_weakness_'.$box_num.'.start({
            \'opacity\': 1.0
        });
    });
    ';
                    }
                }
            }

    html.
    Формируется эффект подсвечивания для неких ячеек в таблице. Расставить классы и написать пять строк - не судьба :)

    karevn, 11 Февраля 2010

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

    +151.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
    dA.cookie = {}
    dA.cookie.add = function (name, value, days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            var expires = "; expires=" + date.toGMTString();
        }
        else var expires = "";
        document.cookie = name + "=" + value + expires + "; path=/";
    }
    dA.cookie.read = function (name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
        }
        return null;
    }
    dA.cookie.remove = function (name) {
        dA.cookie.add(name, "", -1);
    }

    JDVU, 11 Февраля 2010

    Комментарии (1)
  10. Python / Говнокод #2585

    −184.6

    1. 1
    return lib.formatters.__dict__[id].format(txt)

    Мы же не ищем легких путей, правда? В модуле formatters определен словарь, к которому мы таким образом обращаемся.

    Gukl, 10 Февраля 2010

    Комментарии (1)
  11. Perl / Говнокод #2562

    −111.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
    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
    # куски кода выдернуты
    #  смотрите внимательно на SQL
    #--- INSERT ------
    
    my $comment_id = $ej->{dbh}->insert('blog.comments', (
    	'id::primary'          => '',
    	'post_id::numeric'     => $param_id,
    	'user_id::numeric'     => $ej->{user}{id},
    	'text'                 => $newmess,
    	'time::numeric'        => $ej->{time},
    	'rating_ball::numeric' => $rating_ball
    ));
    my $_rating_ball = 0 + $ej->Query ('SELECT SUM(rating_ball) FROM blog.comments WHERE post_id = '.$param_id)->FetchRow;
    
    $ej->Query(
    	'UPDATE blog.posts SET update_time = '.$ej->{time}.', rating_ball = '.$_rating_ball.', '.
    	'comments_ptr = CONCAT('.Q(pack('L', $comment_id)).', comments_ptr)  WHERE id = '.$param_id
    );
    
    #--- DELETE ---
    
    $ej->Query('DELETE FROM blog.comments WHERE id = '.$comment_id);
    
    my $comments_ptr = pack('L*', $ej->Query('SELECT id FROM blog.comments WHERE post_id = '.$post_id.' ORDER BY time DESC')->FetchCol);
    my $_rating_ball = 0 + $ej->Query ('SELECT SUM(rating_ball) FROM blog.comments WHERE post_id = '.$post_id)->FetchRow;
    
    $ej->Query('UPDATE blog.posts SET comments_ptr = '.Q($comments_ptr).', rating_ball = '.$_rating_ball.' WHERE id = '.$post_id);
    
    
    #--- SELECT ----
    
    my %q = $ej->Query('SELECT user_id, topic_id, name, text, SUBSTRING(comments_ptr, '.(1+($page-1)*40).',40) AS ptr, round(length(comments_ptr) / 4) AS cnt, create_time, pics_ptr, rating_ball FROM blog.posts WHERE id = '.$param_id)->FetchHash;
    
    my @id = (); my @user_id = (); my @text = (); my @time = ();
    
    if ($q{ptr} ne '') {
    	my $r = $ej->Query('SELECT id, user_id, text, time FROM blog.comments WHERE id IN ('.join(',',unpack('L*', $q{ptr})).') ORDER BY time DESC');
    	@id      = $r->FetchCol;
    	@user_id = $r->FetchCol(1);
    	@text    = $r->FetchCol(2);
    	@time    = $r->FetchCol(3);
    }
    
    # потом еще вывод через Ж

    это работает на mySQL/PERL.
    да зачем нам реляционная база, мы сами можем манипулировать отношениями.
    comments_ptr это BLOB, c упакованным в него массивом int32 id'шников из comments.id
    хотя и есть comments.post_id <=> posts.id

    просто праздник какой-то!

    bmp20, 07 Февраля 2010

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