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

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

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    $a = !empty($_POST['a'])?$_POST['a']:null;
       if (empty($_POST['submit']) || !is_numeric($a)) {
         } else {
            echo "Прошол!";

    Vasiliy, 23 Августа 2010

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

    +165

    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
    <?php
    
    $luser=$this->get_authorized_user();
    if (!$luser) retuen -101;
    
    // ...
    
      if (!$lpwd) 
      {
       $db->disconnect();
       return -102;
      }
    
    // ...
    
     if (!is_array($array)){$db->disconnect();return -103;}
      
     if (0 == count($array)){$db->disconnect();return -104;}
    
    // ...
    
     if (!is_array($array)){$db->disconnect();return -105;}
      
     if (0 == count($array)){$db->disconnect();return -106;}

    орфография и правописание сохранены

    вот таких отрицательных "статусов" по всему проекту просто миллион. Только одному автору известно, что они значат.

    и работает это все с неправильно написанным "return" в первом блоке

    user654321, 23 Августа 2010

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

    +165

    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
    <?php
    //...
     $GrabURL = "http://www.google.com/search?q=".$url."&sourceid=opera&num=100&ie=utf-8&oe=utf-8&start=".$page;
      $x=getfile($GrabURL); //автор сделал велосипед-аналог file_get_contents
      $handle = fopen("rip_google.txt","w+");
      fwrite($handle, $x);
      fclose($handle);
      $screen = file("rip_google.txt");
      $content = implode("",$screen);
      // вытягиваем линк
      preg_match_all("!\<h2 class=r\>\<a href=\"(http:.*?)[\"|&]!si" ,$content, $out1, PREG_PATTERN_ORDER);
    //...
    ?>

    Код из парсера гугла. Файл rip_google.txt больше реально нигде не используется. Так же порадовала комбинация строк 8-9.

    mr.The, 22 Августа 2010

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

    +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
    class A
    {
    public:
    	~A();
    };
    
    void A::!A()
    {
    	//destructor
    }
    
    int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR commandLine, int)
    {
    	A* a = new A();
    	delete a;
    
    	return 0;
    }

    Компилируется и РАБОТАЕТ (заходит в этот "деструктор" при удалении объекта) под Visual C++ 2008.
    Перестаёт компилироваться после любого малейшего изменения (например, если убрать void перед реализацией "деструктора").
    КАК?!

    Kirinyale, 21 Августа 2010

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    до ревью:
    
    abcForm.Controls.FindControl<AbcDateControl>("MyDate").SetValue(DateTime.Parse(DateTime.Now.AddDays(1).ToString()));
    
    после
    
    abcForm.Controls.FindControl<AbcDateControl>("MyDate").SetValue(new DateTime(DateTime.Now.AddDays(1).ToString()));

    Всегда думал, что ревью улучшает код... Похоже народ хотел сделать вот это:

    abcForm.MyDate.SetValue(DateTime.Now.Add Days(1));

    :)

    pdk, 18 Августа 2010

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

    +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
    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
    <div id="header">
    <script>
        function mShow (mEl) {
          if (document.getElementById(mEl)) {
            el = document.getElementById(mEl);
            if (el.style.display=='block') el.style.display = 'none';
            else el.style.display ='block';
            if (mEl != 'mFoto') document.getElementById('mFoto').style.display = 'none';
            if (mEl != 'mFriend') document.getElementById('mFriend').style.display = 'none';
            if (mEl != 'mMessage') document.getElementById('mMessage').style.display = 'none';
          }
        }
        function sOff (e) {
            if(!e){e=window.event;}
            var message="";
            document.getElementById('mFoto').style.display = 'none';
            document.getElementById('mFriend').style.display = 'none';
            document.getElementById('mMessage').style.display = 'none';
            
            function clickIE() {if (document.all) {(message);return false;}}
            function clickNS(e) {if (document.layers||(document.getElementById&&!document.all)) {
              if (e.which==2||e.which==3) {
                (message);
              return false;}}}
                if (document.layers) {
                  document.captureEvents(Event.MOUSEDOWN);
                  document.onmousedown=clickNS;
                }else{
                  document.onmouseup=clickNS;
                  document.oncontextmenu=clickIE;
                }
      //document.oncontextmenu=new Function("return false")
        }
    
    if(document.addEventListener){
      document.addEventListener("click",sOff,true);
    }else if(document.attachEvent){
      document.attachEvent("onclick",sOff);
    }else{
      document.onclick = sOff;
    }
    
      </script>
    <ul class="menu_top">
    
    <li><a href="/users/555355" style="font-weight:bold;">inkanus</a> (<a href="/logout">выйти</a>)
    </li>
    <li>
    <a href="#" onClick="mShow('mFoto');return false;">Мои фотографии <small>▼</small></a>
      <ul id='mFoto' class="submenu_top" style="right:280px;">
      <li><a href="/users/555355">Моя страница</a></li>
        <li><a href="/upload">Загрузить фотографии</a></li>
        <li><a href="/create">Создать альбом</a></li>
        <li><a href="/comments">Последние комментарии</a></li>
        <li><a href="/options">Настройки</a></li>
      </ul>
    </li>
    <li>
    <a href="#" onClick="mShow('mFriend');return false;">Мои друзья <small>▼</small></a>
      <ul id='mFriend' class="submenu_top" style="right:166px;">
        <li><a href="/friends">Фотки друзей</a></li>
        <li><a href="/friends/control">Друзья</a></li>
        <li><a href="/friends/banned">Игнорируемые</a></li>
      </ul>
    </li>
    <li>
    <a href="#" onClick="mShow('mMessage');return false;">Мои сообщения <small>▼</small></a>
      <ul id='mMessage' class="submenu_top" style="right:5px;">
        <li><a href="/messages">Входящие</a></li>
        <li><a href="/messages/sent">Исходящие</a></li>
        <li><a href="/messages/send">Отправить сообщение</a></li>
      </ul>
    </li>
    </ul>
      </div>

    Взято с одного фотосайта.

    inkanus-gray, 17 Августа 2010

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

    +163

    1. 1
    if (isset($SAN) and $SAN<>"" and $SA>0) {

    пиздец проверочка, и так почти везде

    ferry-very-good, 17 Августа 2010

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

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function del()
    {
        temp = window.confirm("Вы действительно хотите удалить?");
        if (temp == true) 
            return true;
        else 
            return false;
    }

    Из реальной системы

    Werdn, 17 Августа 2010

    Комментарии (7)
  10. Assembler / Говнокод #3988

    +231

    1. 1
    2. 2
    3. 3
    4. 4
    cmp [wparam],BN_CLICKED shl 16 + ID_HOTKEY
            je .sethotkey
            jmp .processed
    .sethotkey:

    O_o

    Xekep, 15 Августа 2010

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

    +157

    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
    $q = mysql_query("... /* тут мог быть ваш код */") or die(mysql_error());
          $nr = mysql_num_rows($q);
          $contor=0;
          if($nr<1) {
            echo "No notes found";
            $contor=0;
          } else {
            $contor=1;
            $cc = 0;
            while($d = mysql_fetch_assoc($q)) {
              ... /* тут мог быть ваш код */
              $cc++;
              $contor++;
            }
            if (!$contor) $contor = 0;
          }
          if (!$contor) $contor = 0;

    для уверенности.

    n0ne, 15 Августа 2010

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