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

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

    −52

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /// Get the x-axis
    b2Vec2 GetXAxis() const
    {
    	return b2Vec2(c, s);
    }
    
    /// Get the u-axis
    b2Vec2 GetYAxis() const
    {
    	return b2Vec2(-s, c);
    }

    Box2D, говнокомментарий

    tymofey, 01 Июня 2012

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

    +64

    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
    /*
     *---------------------------Темка на одном seo форуме...
     *Проблемка вот в чём:
     *используется такая конструкция
    */
    
    echo '<td class="play"><span class="doRadio" onclick="doRadio('.$row['alt_name'].', '.$row['name'].');">Play</span></td>';
    
    /*
     *при правильном раскладе должно получиться так
     *<span class="doRadio" onclick="doRadio('kissfmua', 'KISS FM');">Play</span>
     *но теряются одиночные кавычки ('kissfmua', 'KISS FM') как я не менял выдает ошибку
     *подскажите!
    */
    
    /*
     *---------------------------Ответ одного формучанина
    echo '<td class="play"><span class="doRadio" onclick="doRadio(\''.$row['alt_name'].'\', \''.$row['name'].'\');">Play</span></td>';

    Я просто в ахуе...

    kise97, 29 Мая 2012

    Комментарии (24)
  4. Pascal / Говнокод #10316

    +100

    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
    function Tf_MainFrame.DateToText(d: TDate; tp: integer): string;
    var s: string;
        g: integer;
    begin
      if DateToStr(d) = '00.00.0000' then
      begin
        result := '';
      end else begin
      case tp of
        2:begin
            s := ''; DateTimeToString(s,'dd',d);
            result := s;
            DateTimeToString(s,'mm',d);
            g := StrToInt(s);
            DateTimeToString(s,'yyyy',d);
            case g of
                1:  begin result := result + ' января ' + s; end;
                2:  begin result := result + ' февраля ' + s; end;
                3:  begin result := result + ' марта ' + s; end;
                4:  begin result := result + ' апреля ' + s; end;
                5:  begin result := result + ' майя ' + s; end;
                6:  begin result := result + ' июня ' + s; end;
                7:  begin result := result + ' июля ' + s; end;
                8:  begin result := result + ' августа ' + s; end;
                9:  begin result := result + ' сентября ' + s; end;
                10: begin result := result + ' октября ' + s; end;
                11: begin result := result + ' ноября ' + s; end;
                12: begin result := result + ' декабря ' + s; end;
            end;
          end
        else begin
           result := DateToStr(d);
        end;
      end;
      end;
    end;

    Календарь ацтеков, месяц майя:)

    Nilud, 18 Мая 2012

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

    +91

    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
    private void changeTabItem(object parameter)
            {
                if (SelectedTabIndex == SelectedTabIndexOld) return;
                if (SelectedTabIndex != 0)
                {
                    if ([надо сохранить])
                    {
                        if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
                        else SelectedTabIndex = 0;
                    }
                    else SelectedTabIndexOld = SelectedTabIndex;
    
                    if (SelectedTabIndex == 1)
                        [обновить древо]
    
                }
                else if (SelectedTabIndex != 1)
                {
                    if ([надо сохранить])
                    {
                        if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
                        else SelectedTabIndex = 1;
                    }
                    else SelectedTabIndexOld = SelectedTabIndex;
                    if (SelectedTabIndex == 0)
                        [обновить древо]
                }
            }

    Раскопки продолжаются. Теперь Вашему вниманию предлагается "женское" переключение вкладок, работающее "от противного". В данном случае две вкладки, а теперь представим что надо добавить ещё пару. =)

    DukeGonzo, 16 Мая 2012

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

    +86

    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
    <?
    
    function anti_sql($expressao)    {
    
        $inject=0;
      $expressao = strtolower($expressao);
    
        //arrays com palavras e caracteres invalidos
        $badword1 = array("' or 0=0 --",'" or 0=0 --',"or 0=0 --","' or 0=0 #","admin'--",'" or 0=0 #',"or 0=0 #","' or 'x'='x",'" or "x"="x',"') or ('x'='x","' or 1=1--",'" or 1=1--',"or 1=1--","' or a=a--",'" or "a"="a',"') or ('a'='a",'") or ("a"="a','hi" or "a"="a','hi" or 1=1 --',"hi' or 1=1 --","hi' or 'a'='a","hi') or ('a'='a",'hi") or ("a"="a',"or '1=1'");
        $badword2 = array("select", " select","select "," insert"," update","update "," delete","delete "," drop","drop "," destroy","destroy ");
    
        for($i=0;$i<sizeof($badword1);$i++) {
            if(substr_count($expressao,$badword1[$i])!=0)
              $inject=1;
           }
    
             for($i=0;$i<sizeof($badword2);$i++)    {
                  if(substr_count($expressao,$badword2[$i])!=0)
                  $inject=1;
             }
    
        $charvalidos = "abcdefghijklmnopqrstuvwxyz0123456789БАГВЗЙИКНМУТФХЪЩЬСбагвзйикнмутфхъщьс!?@#$%&(){}[]:;,.-_ ";
    
         for($i=0;$i<strlen($expressao);$i++)    {
            $char = substr($expressao,$i,1);
                if(substr_count($charvalidos,$char)==0)
                   $inject=1;
             }
    
        return($inject);
    }
    
    
    ?>

    Эх, португальские кодеры...

    killro0000, 01 Мая 2012

    Комментарии (24)
  7. C# / Говнокод #9868

    +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
    public class CatalogCache : IDIsposable
    {
        public void Dispose()
        {
            if (_loadThread != null)
            {
                if (_loadThread.IsAlive)
                    _loadThread.Abort();
            }
    
            if (_updateThread != null)
            {
                if (_updateThread.IsAlive)
                    _updateThread.Abort();
            }
    }

    abatishchev, 05 Апреля 2012

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

    +1001

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    p1=Vec2(cos(pi/180*mParticles[index].mRotation)*1.2f*radius,sin(pi/180*mParticles[index].mRotation)*1.2f*radius)+center+mParticles[index].mPos;
    p2=Vec2(cos(pi+pi/180*mParticles[index].mRotation)*1.2f*radius,sin(pi+pi/180*mParticles[index].mRotation)*1.2f*radius)+center+mParticles[index].mPos;
    DrawLine((int)p1.x,(int)p1.y,(int)p2.x,(int)p2.y);
    p1=Vec2(cos(pi/2+pi/180*mParticles[index].mRotation)*1.2f*radius,sin(pi/2+pi/180*mParticles[index].mRotation)*1.2f*radius)+center+mParticles[index].mPos;
    p2=Vec2(cos(3*pi/2+pi/180*mParticles[index].mRotation)*1.2f*radius,sin(3*pi/2+pi/180*mParticles[index].mRotation)*1.2f*radius)+center+mParticles[index].mPos;
    DrawLine((int)p1.x,(int)p1.y,(int)p2.x,(int)p2.y);

    lifemaker, 27 Февраля 2012

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

    +166

    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
    switch ($pole['id']) {
      case 0:
              $result[0] = $pole[0]['user_key'];
              break;
      case 1:
              $result[1] = $pole[1]['user_key'];
              break;
    ...
      case 99:
              $result[99] = $pole[99]['user_key'];
              break;
    
    // somebody stop me.
    
      case 100:
              $result[100] = $pole[100]['user_key'];
              break;
    ...
    }

    не остановили...

    Razban_Guestov, 27 Февраля 2012

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

    +145

    1. 1
    а у самих на сайте (http://govnokod.ru/) при входе если после OpenID поставить пробел, то войти нельзя!

    Nataly, 17 Февраля 2012

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

    +181

    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
    <!--Начало сценария
    
    var res="23342142"
    
    function check_me()
    {
    	var count=0
    	with(document.test)
    	{
    		if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked&&!Q1[3].checked) {count+=1};
    		if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked&&!Q2[3].checked) {count+=1};
    		if (!Q3[0].checked&&!Q3[1].checked&&!Q3[2].checked&&!Q3[3].checked) {count+=1};
    		if (!Q4[0].checked&&!Q4[1].checked&&!Q4[2].checked&&!Q4[3].checked) {count+=1};
    		if (!Q5[0].checked&&!Q5[1].checked&&!Q5[2].checked&&!Q5[3].checked) {count+=1};
    		if (!Q6[0].checked&&!Q6[1].checked&&!Q6[2].checked&&!Q6[3].checked) {count+=1};
    		if (!Q7[0].checked&&!Q7[1].checked&&!Q7[2].checked&&!Q7[3].checked) {count+=1};
    		if (!Q8[0].checked&&!Q8[1].checked&&!Q8[2].checked&&!Q8[3].checked) {count+=1};
    		if (count>0) {alert("Вы выполнили не все задания. Проверьте себя.")} 
    		else answer()
    	}
    }
    
    function control(k,f1,f2,f3,f4,f5,f6,f7,f8)
    {
    	if (k==1&&f1.checked) return true;
    	if (k==2&&f2.checked) return true;
    	if (k==3&&f3.checked) return true;
    	if (k==4&&f4.checked) return true;
    	if (k==5&&f5.checked) return true;
    	if (k==6&&f6.checked) return true;
    	if (k==7&&f7.checked) return true;
    	if (k==8&&f8.checked) return true;
    	return false;
    }
    
    function answer()
    {
    	answ="";
    	with(document)
    	{
    		answ+=control(res.charAt(0),test.Q1[0],test.Q1[1],test.Q1[2],test.Q1[3])?"1":"0"
    		answ+=control(res.charAt(1),test.Q2[0],test.Q2[1],test.Q2[2],test.Q2[3])?"1":"0"
    		answ+=control(res.charAt(2),test.Q3[0],test.Q3[1],test.Q3[2],test.Q3[3])?"1":"0"
    		answ+=control(res.charAt(3),test.Q4[0],test.Q4[1],test.Q4[2],test.Q4[3])?"1":"0"
    		answ+=control(res.charAt(4),test.Q5[0],test.Q5[1],test.Q5[2],test.Q5[3])?"1":"0"
    		answ+=control(res.charAt(5),test.Q6[0],test.Q6[1],test.Q6[2],test.Q6[3])?"1":"0"
    		answ+=control(res.charAt(6),test.Q7[0],test.Q7[1],test.Q7[2],test.Q7[3])?"1":"0"
    		answ+=control(res.charAt(7),test.Q8[0],test.Q8[1],test.Q8[2],test.Q8[3])?"1":"0"
    		showResult();
    	}
    }
    
    function showResult()
    {
    	var nok=0;
    	var i,s;
    	for (i=0;i<answ.length;i++) {nok+=answ.charAt(i)=="1"?1:0;}
                      if(nok<4) s='"НЕУДОВЛЕТВОРИТЕЛЬНО"';
                      if(nok==4) s='"УДОВЛЕТВОРИТЕЛЬНО"';
    	if(nok>4 && nok<6) s='"УДОВЛЕТВОРИТЕЛЬНО"';
    	if(nok==6) s='"ХОРОШО"';
    	if(nok>6 && nok<8) s='"ХОРОШО"';
    	if(nok==8) s='"ОТЛИЧНО"';
    	document.test.s1.value="Количество правильных ответов "+nok+". Ваша оценка "+s+". Загляните в окно рядом с номером задания. Если ответ правильный, то там (+). Если Вы ошиблись, там (-).";
    	with(document.test)
    	{
    		if (answ.charAt(0)=="1") {T1.value=" +"} else {T1.value=" -"};
    		if (answ.charAt(1)=="1") {T2.value=" +"} else {T2.value=" -"};
    		if (answ.charAt(2)=="1") {T3.value=" +"} else {T3.value=" -"};
    		if (answ.charAt(3)=="1") {T4.value=" +"} else {T4.value=" -"};
    		if (answ.charAt(4)=="1") {T5.value=" +"} else {T5.value=" -"};
    		if (answ.charAt(5)=="1") {T6.value=" +"} else {T6.value=" -"};
    		if (answ.charAt(6)=="1") {T7.value=" +"} else {T7.value=" -"};
    		if (answ.charAt(7)=="1") {T8.value=" +"} else {T8.value=" -"};
    	}
    }

    http://www.junior.ru/wwwexam/t_gig.htm
    Тест по информатике.

    Govnocoder#0xFF, 15 Декабря 2011

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