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

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

    +158

    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
    function checkboxHandler(e) {
    	var el = e.target;
    	if(el.className == "checked") {
    		el.className = "unchecked";
    		showThumbs(el, false); 
    	}
    	else {
    		el.className = "checked";
    		showThumbs(el, true); 
    	}
    }
    function showThumbs(el, stat) {
    	if(stat)
    		addThumbs(el.id);
    	else
    		removeThumbs(el.id);
    }

    zhegan, 25 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (users.ToList().Count == 0)
    {
              return true;
    }
    else
    {
              return false;
    }

    Mikita, 23 Ноября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring']) 
    {} 
    else {
    $colerror=$colerror+1;
    echo "<div class='error'> Неверный код </div>";}

    Еще нашел в своих зарослях, кроме того, что входные данные не фильтровались, так и еще {} else { 0_о я в шоке!!

    BOOMik, 23 Ноября 2010

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

    +145

    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
    {pascal}
    {$M 65520,0,10000}
    program govnokod;
    a:word;
    begin
    repeat
    writeln('кто считает что он дебил нажмите 1, кто наоборот 2');
    readln(a);
    if a=1
    then
    writeln('да ты прав');
    readln
    else
    writeln('да нет ты не понял, надо нажать 1');
    until a=1
    end.

    просто прикольная надоедаловка,

    we-stalkers, 18 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    for(i=0;i<=15;i++) {
     o=Odd(N[i]);s=Simple(N[i]);//Odd-проверка на нечётность всех цифр, Simple-на простое число
     if((o&&s)||(N[i]==3||N[i]==5||N[i]==7)) 
    {
    }
     else cprintf("%d ",N[i]); //и вот тут замкнуло...но по другому никак)
     if(i>n+4) goto exit;//потерялись 4 элемента...
     }

    лаба..сдам на следующей неделе, в надежде что у препода произойдёт переполнение и поставит, всё-таки всё работает =)

    aelaa, 17 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function Redirect($url) {
      print "<html><head>\n";
      print "<meta http-equiv='Refresh' content='0; url=$url'>\n";
      print "</head></html>\n";
      exit();
    }

    Во как делают переадресацию нереальные пацаны!

    dwinner, 17 Ноября 2010

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void Scene3D::DrawTriangle(const Point3D &A, const Point3D &B, const Point3D &C, const Color& color)
    {
            // ---------------------------------------------------------------------------------------
            // вспомогательные вычисления
            // нормаль
            const Vector3D& n = (B - A) ^ (C - A);
    
            // ...
    
            // центр треугольника
            const Point3D& medium = (A + B + C) / 3.0;

    Руки как-то привыкли const TypeName& variableName набирать в определении параметров методов.
    И случайно набралось такое (строки 6, 11)

    Операторы (+, -, ^, /) над векторами возвращают Vector3D, не const Vector3D&.

    Заметил только через полгода, и всё это время оно почему-то работало, и даже ворнингов не было.

    Но такое ведь не должно работать!
    Результат вычисления в правой части присваивания структура, то есть она возвращается в стеке. Если бы я присвоил её какой-то локальной переменной, для которой выделена память в стеке текущей функции, то она бы перед удалением скопировалась в локальную переменную. А так получается что ссылка (n, medium) указывает куда-то на стек, где временно хранится возвращенное оператором значение. И при следующем вызове любой функции эта область стека должна перезаписаться.

    burdakovd, 12 Ноября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    if (!bNextPageVisited)
    this->button(QWizard::NextButton)->setEnabled(false);
    if (bNextPageVisited)
    this->button(QWizard::NextButton)->setEnabled(true);

    Упячка мозга?..

    des-1008d, 12 Ноября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    double *ptr = new (nothrow) double[n];
    if (ptr) {
    //....
    } else throw bad_alloc();

    Sanya_M, 11 Ноября 2010

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

    +79

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public class Daemon {
       //...
    
       /**
       * Constant defines url pattern for register
       */
       private static final String S_ID_D_URL_S_STRATEGY_CLASS_S_STATE_S = "%s?id=%d&url=%s&strategyClass=%s&state=%s";
     
       //...
    }

    ....

    nikelin, 11 Ноября 2010

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