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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. JavaScript / Говнокод #9500

    +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
    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
    fadeOutAnimate($("#bigsun"), 500);
                fadeInAnimate($("#littlesun"), 500, function(){
                    fadeInAnimate($("#point1"), 300, function(){
                        fadeInAnimate($("#point2"), 300, function(){
                            fadeInAnimate($("#point3"), 300, function(){
                                fadeInAnimate($("#point4"), 300, function(){
                                    fadeInAnimate($("#point5"), 300, function(){
                                        fadeInAnimate($("#point6"), 300, function(){
                                            fadeInAnimate($("#point7"), 300, function(){
                                                fadeInAnimate($("#point8"), 300, function(){
                                                    fadeInAnimate($("#arrows"), 600, function(){
                                                        fadeInAnimate($("#direction1"), 300, function(){
                                                            fadeInAnimate($("#direction2"), 300, function(){
                                                                fadeInAnimate($("#direction3"), 300, function(){
                                                                    fadeInAnimate($("#direction4"), 300, function(){
                                                                        fadeInAnimate($("#direction5"), 300, function(){
                                                                            fadeInAnimate($("#direction6"), 300, function(){
                                                                                fadeInAnimate($("#direction7"), 300, function(){
                                                                                    fadeInAnimate($("#direction8"), 300, function(){
                                                        
                                                                                    });
                                                                                });
                                                                            });
                                                                        });
                                                                    });
                                                                });
                                                            });
                                                        });
                                                    });
                                                });
                                            });
                                        });
                                    });
                                });
                            });
                        });

    Анимация.

    fixxxerrr, 21 Февраля 2012

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

    +997

    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
    void TexQ::Move()
    {
    	mx = quad.v[0].x;
    	my = quad.v[0].y;
    	if(hge->Input_GetKeyState(HGEK_RBUTTON) || hge->Input_KeyDown(HGEK_LBUTTON))
    	{
    		hge->Input_GetMousePos(&nx, &ny);
    		move = true;
    		sx = GetPositionX();
    		sy = GetPositionY();
    		subx = nx - sx;
    		suby = ny - sy;
    
    		if ( abs(subx) > abs(suby) ) 
    		{
    			iter = abs(subx);
    			ms = subx;
    			subx = (subx < 0) ? -1.0f : 1.0f;
    			suby = (suby < 0 ) ? suby/abs(ms) : abs(suby/ms);
    		}
    		else 
    		{
    			iter = abs(suby);
    			ms = suby;
    			suby = (suby < 0) ? -1.0f : 1.0f;
    			subx = (subx < 0 ) ? subx/abs(ms) : abs(subx/ms);
    		}
    	}
    
    	if (move) 
    	{	
    		if (iter >= shift)
    		{
    			iter-=shift;
    			this->SetPosition(
    				GetPositionX() + subx * shift, 
    				GetPositionY() + suby * shift);
    		}
    		else
    		{
    			this->SetPosition(nx , ny);
    			move = false;
    		}
    
    	}
    
    }

    Хреновый из меня математик. Этот метод втыкается в функцию фрейминга. И текстура едет по прямой туда, куда мышью тыкнешь.
    Позже узнал, как можно тригонометрией в 5 строк написать такую же )

    idec, 14 Февраля 2012

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

    +131

    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
    private static bool state;
    
    public static bool InWork
    {
        get
        {
            return state;
        } 
        internal set
        {
            switch (value)
            {
                case true:
                    {
                        try
                        {
                            // попытка запуска сервиса
                            ...
                        }
                        catch (Exception ex)
                        {
                            throw;
                        }
                    }
                    break;
                case false:
                    {
                        if (!state) return;
                        // попытка остановить сервис
                        ...
                    } 
                    break;
            }
            state = value;
        }
    }
    
    public static void Start(...)
    {
        ...
        InWork = true;
    }
    
    public static void Stop()
    {
        ...
        InWork = false;
    }

    Интересный ход, правда?

    ddv_demon, 01 Декабря 2011

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

    +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
    var s: string;
        res: string; 
    begin
      readln(s);
      res := 'Слишком большая строка';
      if length(s) = 0 then res := s;
      if length(s) = 1 then res := s;
      if length(s) = 2 then res := s;
      if length(s) = 3 then res := s;
      if length(s) = 4 then res := s[0] + ' ' + s[1] + s[2] + s[3];
      if length(s) = 5 then res := s[0] + s[1] +' ' + s[2] + s[3] + s[4];
      if length(s) = 6 then res := s[0] + s[1] + s[2] +' ' + s[3] + s[4] + s[5];
      if length(s) = 7 then res := s[0] + ' ' + s[1] + s[2] + s[3] +' ' + s[4] + s[5] + s[6];
      if length(s) = 8 then res := s[0] + s[1] + ' ' + s[2] + s[3] + s[4] +' ' + s[5] + s[6] + s[7];
      if length(s) = 9 then res := s[0] + s[1] + s[2] + ' ' + s[3] + s[4] + s[5] +' ' + s[6] + s[7] + s[8];
      writeln(res);
    end.

    Код масштабируемый - сейчас он обрабатывает строки, в которые можно записать от нуля до девяти символов, но его прозрачно можно смасштабировать до обработки хоть 20, хоть 50 символов.
    Кроме того, тут не используются платформозависимые API.

    Govnocoder#0xFF, 22 Ноября 2011

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

    +167

    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
    inExp = function (dig, exp) {
    if (exp == 1) return alert(dig);
    if (exp == 2) return alert(dig*dig);
    if (exp == 3) return alert(dig*dig*dig);
    if (exp == 4) return alert(dig*dig*dig*dig);
    if (exp == 5) return alert(dig*dig*dig*dig*dig);
    if (exp == 6) return alert(dig*dig*dig*dig*dig*dig);
    if (exp == 7) return alert(dig*dig*dig*dig*dig*dig*dig);
    if (exp == 8 ) return alert(dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 9) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 10) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 11) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 12) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 13) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 14) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 15) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 16) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 17) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 18) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 19) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 20) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 21) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 22) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 23) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 24) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 25) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 26) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 27) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 28) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 29) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 30) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    }

    Функция возведения в степень.
    http://2lx.ru/2010/03/javascript-funkciya-vozvedeniya-v-stepen/

    substr, 19 Ноября 2011

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