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

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

    +162

    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
    function plusDay($data){
    	$dat=explode(".",$data);
    	if ($dat[0]<28){
    		$dat++;
    		} else {
    			if (($dat[1]!=2)&&($dat[0]<31)){
    				$dat[0]++;
    				}
    			if (($dat[1]==2)&&($dat[0]==28)){
    				$dat[1]++;
    				$dat[0]=1;
    				}
    			if (($dat[1]==1)&&($dat[1]==3)&&($dat[1]==5)&&($dat[1]==7)&&($dat[1]==8)&&($dat[1]==10)&&($dat[1]==12)&&($dat[0]==31)){
    				$dat[0]=1;
    				if ($dat[1]==12){
    					$dat[2]++;
    					$dat[1]=1;
    					}else{
    						$dat[1]++;
    						}
    				}
    			if (($dat[1]==4)&&($dat[1]==6)&&($dat[1]==9)&&($dat[1]==11)&&($dat[0]==30)){
    				$dat[0]=1;
    				$dat[1]++;
    				}
    			}
    	return implode(".",$dat);
    }

    DSL88, 07 Июня 2010

    Комментарии (21)
  3. Java / Говнокод #3395

    +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
    private void StreamToBytes()throws Exception
        {
            int i;
            InputStream in=getStream();
            ArrayList<Integer> byt=new ArrayList<Integer>();
            while((i=in.read())!=-1)
            {
                byt.add(i);
            }
            in.close();
            b=new byte[byt.size()];
            for(int j=0;j<b.length;j++)
            {
                b[j]=byt.get(j).byteValue();
            }
        }

    хуита, 04 Июня 2010

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    session_start();
    // супер-мега защита от ддоса
    $_SESSION['antiddos']==time() ? exit() : $_SESSION['antiddos']=time();
    //конец супер мега защиты
    ....
    ?>

    Найдено в старом проекте, код не мой.
    Но вы знаете, от толпы школьников с кнопками F5 это реально помогает!

    mr.The, 02 Июня 2010

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

    +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
    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
    procedure WriteCharXY(_bx,by:integer; ch:char; tcol:word);
    var buf:array[1..18,1..12] of word;
    XOfs:longint;
    x,y,px,py:integer;
    begin
    XOfs:=GetCharOffset(ch);
    if xofs=0 then fillchar(buf,sizeof(buf),200) else
    fromXMS(XOfs,addr(buf),432);
    for y:=1 to 18 do
    for x:=1 to 12 do begin
    if buf[y,x]=0 then begin
       px:=_bx+x; py:=by+y;
       asm
       mov   bx,px;  add   bx,actviewport.x1;  cmp   bx,fillviewport.x1;
       jl    @end;  cmp   bx,fillviewport.x2; jg    @end;
       mov   cx,currentmode.scanline;  cmp   bx,cx;  jnb   @end;
       mov   ax,py;  add   ax,actviewport.y1;  cmp   ax,fillviewport.y1;
       jl    @end;  cmp   ax,fillviewport.y2;  jg    @end;
       add   ax,pageadd;  mul   cx;  add   bx,bx;
       add   ax,bx;  adc   dx,0;  mov   si,ax;
       cmp   dx,lastbank;  je    @next;  push  dx;
       call  nearsetbank2;  @next:  mov   es,[currentmode.writeptr];
       mov   ax,tcol;  {cmp   writemode,0;  jne   @doxor;}
       mov   es:[si],ax;  {jmp   @end;  @doxor: xor   es:[si],ax;}  @end:
       end;
    end;
    end;
    end;
    
    procedure WriteStringXY(x,y,maxx:integer; s:string; col:word);
    var tx,ty:integer; i:word;
    begin tx:=x; ty:=y;
    for i:=0 to length(s) do begin
    writecharXY(tx,ty,s[i],col);
    inc(tx,GetCharWidth(s[i]));
    if (tx>=maxx) and (s[i]=' ') then begin inc(ty,18); tx:=x; end;
    end;
    end;
    
    procedure Write5Strings(x,y,maxx:integer; col:word; s1,s2,s3,s4,s5:string;
    letterdelay:byte);
    var tx,ty:integer; t,i:word;
    st:array[1..5] of string;
    begin tx:=x; ty:=y;
    st[1]:=s1; st[2]:=s2; st[3]:=s3; st[4]:=s4; st[5]:=s5;
    for t:=1 to 5 do begin
    if length(st[t])=0 then exit;
       for i:=1 to length(st[t]) do begin
       writecharXY(tx,ty,st[t][i],col);
       if letterdelay>0 then pdel(letterdelay);
       inc(tx,GetCharWidth(st[t][i]));
       if (tx>=maxx-100) and (st[t][i]=' ') then begin
       inc(ty,18); tx:=x; end;
       end;
    end;
    end;

    Молодость.

    runewalsh, 01 Июня 2010

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

    +161

    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
    switch ($action)
    { 
      case 'error_php':
        showError('php'); #
        break;
      case 'error_short_tag':
        showError('tag'); #
        break;
      case 'index':
        showIndex(); #
        break;
      case 'license':
        showLicense(); #
        break;
      case 'choose':
        showChoose(); #
        break;
      case 'postchoose':
        showPostChoose(); #die($action."");
        break;
      case 'system':
        showSystem(); # после выбора цвета макета переходим сюда
        break;
      case 'build':
        showBuild(); # потом сюда
        break;
      case 'configure':
        showConfigure(); # если без структуры идём сюда
        break;
      case 'uninstall':
        showUninstall();
        break;
      case 'install':
        showInstall();
        break;
      case 'postinstall':
        showPostInstall();
        break;
      case 'vars':
        downloadConfigFile();
        break;
    }

    Структурное программирование от авторов инсталлятора NetCat.

    telnet, 24 Мая 2010

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

    +104

    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
    function fnGetWeekDay:integer;
    //функция fnGetWeekDay возвращает день недели
    var
      CurDate: date;
      dd,mm,yy: word;
      cent, month, iRes : integer;
    Begin
      CurDate = CurrentDate;
      DecodeDate(CurDate,yy,mm,dd);
      month = mm;
      if mm < 3 then mm = mm + 10
      else mm = mm - 2;
      if mm > 10 then yy = yy - 1;
      cent = yy div 100;
      yy = yy mod 100;
      iRes = ((2.6*mm-0.2) div 1) + dd + yy + (yy div 4) + (cent div 4) - 2*cent;
      iRes = ((iRes+777) mod 7);
      if (month == 5) or (month == 7) or (month == 10) or (month == 12) then iRes = iRes - 1;
      if iRes == -1 then result = 6
      else if iRes == 0 then result = 7
      else result = iRes;
    End; //  fnGetWeekDay

    Это не совсем Delphi. Это нечто с крайне похожим синтаксисом.
    Почему нельзя было использовать (CurrentDate - <какое-нибудь воскресенье>) mod 7 я не знаю.

    rat, 19 Мая 2010

    Комментарии (21)
  8. Си / Говнокод #3257

    +114

    1. 1
    #define boool long bool

    glook, 18 Мая 2010

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

    +117

    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
    # disallow direct access to this file for security reasons: IN_BEYOND
        if(!defined(chr(0x49).chr(0x4e).chr(0x5f).chr(0x42).chr(0x45).chr(0x59).chr(0x4f).chr(0x4e).chr(0x44)))
                                  die(chr(0x44).chr(0x69).chr(0x72).chr(0x65).chr(0x63).chr(0x74).chr(0x20).chr(0x69).chr(0x6e).chr(0x69).
                                      chr(0x74).chr(0x69).chr(0x61).chr(0x6c).chr(0x69).chr(0x7a).chr(0x61).chr(0x74).chr(0x69).chr(0x6f).
                                      chr(0x6e).chr(0x20).chr(0x6f).chr(0x66).chr(0x20).chr(0x74).chr(0x68).chr(0x69).chr(0x73).chr(0x20).
                                      chr(0x66).chr(0x69).chr(0x6c).chr(0x65).chr(0x20).chr(0x69).chr(0x73).chr(0x6e).chr(0x27).chr(0x74).
                                      chr(0x20).chr(0x61).chr(0x6c).chr(0x6c).chr(0x6f).chr(0x77).chr(0x65).chr(0x64).chr(0x2e).chr(0x3c).
                                      chr(0x62).chr(0x72).chr(0x20).chr(0x2f).chr(0x3e).chr(0x3c).chr(0x62).chr(0x72).chr(0x20).chr(0x2f).
                                      chr(0x3e).chr(0x50).chr(0x6c).chr(0x65).chr(0x61).chr(0x73).chr(0x65).chr(0x20).chr(0x6d).chr(0x61).
                                      chr(0x6b).chr(0x65).chr(0x20).chr(0x73).chr(0x75).chr(0x72).chr(0x65).chr(0x2c).chr(0x20).chr(0x49).
                                      chr(0x4e).chr(0x5f).chr(0x42).chr(0x45).chr(0x59).chr(0x4f).chr(0x4e).chr(0x44).chr(0x20).chr(0x69).
                                      chr(0x73).chr(0x20).chr(0x64).chr(0x65).chr(0x66).chr(0x69).chr(0x6e).chr(0x65).chr(0x64).chr(0x2e));
    
    
    
        # CLASS POSTPARSER
    
    
    
       global $DBC943DEB27AF5FE4987CCFE6B05654C;
                  $m = nl2br($m);
                  $m = preg_replace($DBC943DEB27AF5FE4987CCFE6B05654C['B9DBC41484C124798B14A7F1DB617EC0'], $DBC943DEB27AF5FE4987CCFE6B05654C['B9DBC41484C124798B14A7F1DB617EC9'], $m);
                  $m = preg_replace($DBC943DEB27AF5FE4987CCFE6B05654C['B9DBC41484C124798B14A7F1DB617EC3'], $DBC943DEB27AF5FE4987CCFE6B05654C['B9DBC41484C124798B14A7F1DB617ECA'], $m);
                  return $m;

    Нашел в инете. Куски кода класса

    Vasiliy, 06 Мая 2010

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

    +168

    1. 1
    2. 2
    $date=date("d.m.y");
    $data=date("d.m.y");

    В header.php, который инклюдитя в каждом файле. И, что самое главное, в коде используются обе переменных!

    azzz, 04 Мая 2010

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

    +75

    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
    private String getIdString() {
            String answer = Integer.toHexString(id.intValue());
            switch (answer.length()) {
            case 0:
                answer = "00000000";
                break;
            case 1:
                answer = "0000000" + answer;
                break;
            case 2:
                answer = "000000" + answer;
                break;
            case 3:
                answer = "00000" + answer;
                break;
            case 4:
                answer = "0000" + answer;
                break;
            case 5:
                answer = "000" + answer;
                break;
            case 6:
                answer = "00" + answer;
                break;
            case 7:
                answer = "0" + answer;
                break;
            }
            return answer;
        }

    JBoss Netty org.jboss.netty.channel.AbstractChannel

    yvu, 30 Апреля 2010

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