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

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

    +161

    1. 1
    eval( array.join('+') );

    Конечно, я понимаю что всякие Haskel там, то, сё...

    bot, 24 Октября 2012

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

    +138

    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
    public void Delete(CommonType type)
            { 
                label1:
                Console.Write("Enter the title of the book: ");
                string title = Console.ReadLine();
                if (title == type.Title)
                {
                    cmainlibrary.Remove(type);
                    Console.Write("Success");
                    Console.Read();
                    goto label1;
                }
                    
                else 
                {
    
                    goto label1;
                  
                }
            
            }

    sater, 24 Сентября 2012

    Комментарии (26)
  4. Куча / Говнокод #11735

    +118

    1. 1
    2. 2
    3. 3
    yoba = (flip (>>=) .) . ((filter .) . (flip . (((==) .) . flip mod)))
     
    main = print $ yoba 3 0 [КО КО КО]

    http://ideone.com/UGoYJ
    result: Internal error time: 0s memory: 0 kB signal: 0

    LispGovno, 09 Сентября 2012

    Комментарии (26)
  5. ActionScript / Говнокод #11522

    −92

    1. 1
    2. 2
    3. 3
    public function xor(lhs:Boolean, rhs:Boolean):Boolean {
     return !( lhs && rhs ) && ( lhs || rhs );
    }

    Из http://as3snippets.blogspot.com/2010/09/logical-xor.html

    Как известно, в AS3 есть численный оператор XOR ^, а вот для логических значений ^^ нет. Поэтому ребята придумали такую конструкцию (и ещё вариант return Boolean(int(a) ^ int(b)); в комментах), и только через год какой-то чувак догадался что XOR для логических значений всё-таки есть и называется !=

    makc3d, 02 Августа 2012

    Комментарии (26)
  6. Pascal / Говнокод #11342

    +94

    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
    function Dist(dx, dy: integer): integer;  
    begin
      //result := trunc(sqrt(sqr(dx)+sqr(dy)));
      dx := abs(dx);
      dy := abs(dy);
      if dx>dy then begin
        dy := dy shr 1 - dx shr 3;
        if dy >= 0 then result := dx+dy else result := dx;
      end else begin
        dx := dx shr 1 - dy shr 3;
        if dx >= 0 then result := dx+dy else result := dy;
      end;
    end;

    Ещё по теме приближённых расчётов в игровом движке.

    TarasB, 02 Июля 2012

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

    +62

    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
    for($i=0; $i<strlen($input); $i++)
        {
          $ip=$input{$i};
          $op='';
             
          if ($intag)
          {
              if ($ip=="=") $op="=3D";
              else $op= $ip;
          }
          else
          {
              if ($ip=="\"") $op='"';//'
              else if ($ip=="&") $op="&";
              else if ($ip=="'") $op="'";
              else $op= $ip;
          }
    
    
          if ((strlen($line)+strlen($op))>=$line_max)
          {
              $output.=$line.'='.$eol;
              //if ($intag) $output.=$line.'='.$eol;
              //else  $output.=$line.$eol;
              $line='';
          }
          $line.=$op;
    
          if($ip=='<')
              $intag=true;
          else if ($ip=='>')
              $intag=false;
        }

    Заголовки у письма отфильтрованы... Всё «путём» катимся дальше...

    nethak, 29 Мая 2012

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

    +74

    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
    $lang_ru = '<a class=lang-ru-RU href="#" id="btn1">RU</a>';
    $lang_en = '<A class=lang-en-US href="#" id="btn2">EN</A>';
    $lang_de = '<A class=lang-de-DE href="#" id="btn3">DE</A>';
    if (!isset($HTTP_COOKIE_VARS["language"])) {
    	$lang_1 = $lang_ru;
    	$lang_2 = $lang_en;
    	$lang_3 = $lang_de;
    } else {
    	if ($HTTP_COOKIE_VARS["language"] == 'en') {
    		$lang_1 = $lang_en;
    		$lang_2 = $lang_ru;
    		$lang_3 = $lang_de;
    	} else {
    		if ($HTTP_COOKIE_VARS["language"] == 'de') {
    			$lang_1 = $lang_de;
    			$lang_2 = $lang_ru;
    			$lang_3 = $lang_en;
    		} else {
    			$lang_1 = $lang_ru;
    			$lang_2 = $lang_en;
    			$lang_3 = $lang_de;
    		}
    	}
    }

    А если языков было бы больше?

    My_own_private_pony, 10 Мая 2012

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

    +123

    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
    static bool HasSp1()
    {
    	try
    	{
    		WaitHandle h = new ManualResetEvent(true);
    		h.WaitOne(0);
    		return true;
    	}
    	catch
    	{
    		return false;
    	}
    }

    Проверка наличия Service Pack 1 к .NET Framework 3.5 (в продолжение предыдущего ГК). Да, есть другие варианты, но этот не выглядит хуже.

    Steve_Brown, 26 Апреля 2012

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

    −136

    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
    function iofam(val a)
    var fio[3];
    fio[1]=""; fio[2]=""; fio[3]="";
    a=trimall(a);
    while strcountoccur(a,"  ")>0 do
      a=strreplace(a,"  "," ");
    enddo;
    i=1;
    while (strcountoccur(a," ")>0) and (i<=2) do
      fio[i]=left(a,find(a," ")-1);
      a=right(a,strlen(a)-1-strlen(fio[i]));
      i=i+1;
    enddo;
    fio[i]=a;
    return (left(fio[2],1)+"."+left(fio[3],1)+". "+fio[1]);
    endfunction

    int1789, 03 Апреля 2012

    Комментарии (26)
  11. SQL / Говнокод #9689

    −138

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    select 20.0 / -2.0 / 5.0 * 3.0
    -16.666666
    
    select 20.0 / (-2.0) / 5.0 * 3.0
    -6.00000

    SQL-Server как калькулятор

    wecanstoptrain, 16 Марта 2012

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