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

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

    −142

    1. 1
    getChildAt(getChildIndex(console)).visible = false;

    Нашел в одном из своих старых проектов, бывает..

    Maxa, 06 Декабря 2010

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

    +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
    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
    #include <stdio.h>
    #include <stdlib.h>
    
    #define m(x)(x<0?-1:!!x)
    #define g tj()-J
    #define a(x)(x<0?-x:x)
    #define h(x)((x)<=K?x:N-(x))
    #define f 9999
    #define A return
    #define H printf(
    #define R double
    #define U int
    #define V for
    #define b else
    #define u while
    #define B if
    U v,w,Y= -1,W,J,p,F,o=f,M,N,K,X,YY,_,P[f],s(); typedef U(*L)(); L q[f]; tj(){
    U S=m(v)+(m(w)<<K); B(!S)A J; V(v=W+S; v!=J&&!q[v]; v+=S); A v; } k(){ _=K; A
    
    v?a(v)>1||w-Y||!q[J]:(w-Y&&(w-Y*2||q[W+Y*(N+1)]|| (J>>K)-K+(Y-1)/
    v?a(v)>2))||q[J];
    
    } z(){ _=5; A v*w||g; } e(){ _= -2;
    A(v*v*v-v||w*w*w-w)&&(J-W-2||(W&N)-4||(W>>K!=(Y-1?N:0))||
    q[W+1]||q[W+2]||q[W+K]!=z||P[W+K]*Y<0); } R VR(){ ! int PZ=0x7fff;
    A(R)(rand()&PZ)/(R)PZ; } l(){ _=K+1; A(v*w&&a(v)-a(w))||g; } R UC(){ R i=0,d;
    u((i+=d=VR())<1.0); A d; } c(){ _= -11; A a(v)-a(w)||g; } I(ur,n,x){ W=ur;
    J=n; B(P[W]!=Y||P[J]==Y)A J+1; v=(J&N)-(W&N); w=(J>>K)-(W>>K); A
    q[W]()||(x&&QL(W,J,s)); } TT(W){ v=w=0; A q[W]()+K; } s(){ U j= -1,i; Y= -Y;
    V(i=0; i<M; ++i){ B(j<0&&P[i]== -Y&&TT(i)&&_== -2) { j=i; i= -1; } b
    
    B(j>=0&&!I(i,j,0))A Y= -Y; } A!(Y= -Y); } bb(){ _=1; A a(v*w)-2; } uv(){
    
    V(v=0; v<f; ++v){ B(h(v>>K)==0){ U S=h(v&N);
    q[v]=!S?z:(S==1?bb:(S==2?c:(v&N>K?l:e))); } b B(h(v>>K)==1)q[v]=k; b q[v]=0;
    P[v]=!!q[v]*(28-v); } } y(){ U G=Y,i; J=0; V(i=0; i<M; ++i){
    i%8||H"\n%4o ",i); B((Y=P[i]=m(P[i]))&& TT(i))H"%c ",_+93+Y*16); b H"- "); }
    H"\n "); do H"%2d",i++&N); u(i&N); Y=G; H"\n"); } O(W,J){
    B((q[J]=q[W])==k&&h(J>>K)==0)q[J]=l; B(q[W]==e)B(J-W==2)O(J+1,J-1); b
    B(W-J==2)O(W-1,W+1); P[J]=P[W]; q[W]=! 0; P[W]=0; } QL(W,J,D)L D; { U
    HQ=P[J],YX; L AJ=q[J],XY=q[W]; O(W,J); YX=D(); O(J,W); q[J]=AJ; q[W]=XY;
    P[J]=HQ; A YX; } C(){ U i,j,BZ=0; V(i=0; i<M; ++i){ L Z=q[i]; B(Z){ U
    
    r=h(i>>K)+h(i&N),G=Y, S=Z==z?88:(Z==k?11 +r+(P[i]<0?N-(i>>K):(i>>K)):
    
    (Z==l?124-((YY<8&&((i&N)!=K|| (i>>K)!=(P[i]>0?0:N)))?M:0):
    (Z==c?41+r:(Z==e?f-r-r:36+r+r)))); Y=P[i]; V(j=0; j<M;
    ++j)B(!I(i,j,0))S+=(P[j]?5:1); BZ+=G==Y?S:-S; Y=G; } }
    B(!(++X&M-1))write(1,".",1); A BZ; } PX(){ U i,Q=0,XP=0,JZ=M*M,E= -f,t,S=o;
    B(!F--)A++F+C(); V(i=0; i<JZ; ++i)B(!I(i>>K+K,i&M-1,1)){ Y= -Y; o= -E; t=
    
    -QL(i>>K+K,i&M-1,PX); Y= -Y; B(t>E){ ++XP; Q=i; E=t; B(E>=S) A++F,E; } }
    
    B(!XP)E=s()?-f+1:0; p=Q; A++F,E; } RZ(){ U i,j,T=0; V(; ; ){ y(); o=f; do{
    H"\n%d %d %d %s ",X,T,C(),s()?"!":">"); fflush(stdout); }
    u(scanf("%o%o",&i,&j)!=2||I(i,j,1)); O(i,j); y(); X=0; ++YY; Y= -Y; T=PX();
    
    i=p>&g t;(K<<1); j=p&(M-1); B(I(i,j,1)){ H"Rats!\n"); A; } O(i,j); Y= -! Y;
    B(T>M*M)H"\nHar har.\n"); } } main(ac,av)char**av; { long
    B(T>time(),j=time(&j);
    
    R i=0; srand((U)j); V(M=0; M<=f; ++M)i+=UC(); M=i/100; B(M&3)++M; B(M&1)--M;
    V(N=1; N*N<M; ++N); K= --N/2; F=ac>1?atoi(av[1]):2; uv(); RZ(); }

    no comments

    onto, 03 Декабря 2010

    Комментарии (2)
  4. C# / Говнокод #4808

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (OnCreated != null)
                {foreach (EventHandler<CreatedEventArgs> handler in OnCreated.GetInvocationList())
                    {
                        handler(this, args);
                    }
    }

    человек слышал про GetInvocationList но когда его надо применять не понял - зато можно написать 4 строки вместо одной.
    В данном случае аналогом будет простой вызов OnCreated().

    eval_2009, 02 Декабря 2010

    Комментарии (2)
  5. PHP / Говнокод #4755

    +159

    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
    function get_existing_boxes () {
    		global $wp_meta_boxes, $more_fields;
    		$data = $wp_meta_boxes;
    		$boxes = array();
    		foreach ((array) $data as $data1) {
    			foreach ((array) $data1 as $data2) {
    				foreach ((array) $data2 as $data3) {
    					foreach ((array) $data3 as $box) {
    						 if ($title = $box['title']) {
    							 $boxes[$box['id']] = $box;
    						 }
    					}
    				}
    			}						
    		}
    		//if (is_object($more_fields)) {
    	//		$mfs = $more_fields->get_objects(array('_plugin_saved', '_plugin'));
    	//		foreach ($mfs as $mf_key => $mf) $boxes[$mf_key] = $mf;
    	//	}
    		//__d($wp_meta_boxes);
    
    		return $boxes;
    	}

    Из плагина "more-post-types" для WP

    Anderson, 25 Ноября 2010

    Комментарии (2)
  6. VisualBasic / Говнокод #4743

    −102

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    flagnum=Isnumeric(pSum$) 'сумма к погашению
    If flagnum=False Then
    	If Instr(pSum$,",")=0 Then
    		flagnum1$=Strleft(pSum$,".")
    		flagnum2$=Strrightback(pSum$,".")
    		pSum$=flagnum1$&","&flagnum2$
    	Else
    		flagnum1$=Strleft(pSum$,",")
    		flagnum2$=Strrightback(pSum$,",")
    		pSum$=flagnum1$&"."&flagnum2$
    	End If
    End If

    LotusScript
    Преобразования строкового представления числа в число. При входе "0" на выходе строка ".", которая пытается безусловно быть преображена в число.

    Dimly, 25 Ноября 2010

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

    +78

    1. 1
    2. 2
    3. 3
    double price=199990.10;
    BigDecimal realPrice=new BigDecimal(price).round(
    		new MathContext((int)Math.round(Math.log10(price))+3)));

    Округление до копеек.
    Реальный финансовый проект.

    gavnokoder, 24 Ноября 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //Set different text depending on how long on progressbar progress is
    if (dwStepPercent < 25)
        byText=0;
    else if (dwStepPercent < 50)
        byText=1;
    else if (dwStepPercent < 75)
        byText=2;
    else
        byText=3;

    Отличный способ не делить.

    Shumway, 23 Ноября 2010

    Комментарии (2)
  9. Куча / Говнокод #4688

    +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
    Hello, DooMer!
    
    Это письмо было выслано вам по запросу на восстановление пароля на сайте Говнокод.ру
    (если вы не запрашивали восстановление пароля, просто удалите это письмо)
    
    Для смены пароля пройдите по этой ссылке:
    http://govnokod.ru/user/recover?code=b3ce368189242ab2690203d1571c6974
    (ссылка будет работать в течение суток)
    
    
    
    С уважением, Ваш Говнокод.

    Восстановление забытого пароля на govnokod.ru

    DooMer, 19 Ноября 2010

    Комментарии (2)
  10. Java / Говнокод #4685

    +78

    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
    package com.fl.nat;
    
    import java.io.File;
    
    public class Status {
        static {
            System.load(new File("libstatus-remote.dll").getAbsolutePath());
        }
        
        public native int testLoaded();
        private native String listProcessess0();
    
        public SystemProcess[] listProcessess() {
            String proc = this.listProcessess0();
            String[] procs = proc.split(";");
    
            SystemProcess[] list = new SystemProcess[procs.length];
    
            int count = 0;
            for(String s : procs) {
                list[count++] = new SystemProcess(s.split(",")[0], Integer.parseInt(s.split(",")[1]));
            }
            
            return list;
        }
    }

    говнокодовость станет понятка как только я выложу C++ часть этого говна

    danilissimus, 19 Ноября 2010

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

    +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
    if(!CModule::IncludeModule("iblock")) return;
    		
    		$ID_PRODUCT = $_POST['prod_id'];
    		$ID_USER = $USER->GetID();
    		$TEXT = $_POST['txt'];
    		$IBLOCK_ID = $_POST['iblock_id'];
    		$NAME = "Отзыв";
    		
    		$arPROPS = Array(
    			"ID_PRODUCT" => $ID_PRODUCT,
    			"ID_USER" => $ID_USER,
    			"TEXT" => $TEXT,
    		);
    		
    		$arFields = Array(
    			"IBLOCK_ID"=>$IBLOCK_ID,
    			"NAME"=>$NAME,
    			"PROPERTY_VALUES" => $arPROPS,
    		);
    		print_r ($arFields);
    		$e = new CIBlockElement;
    		if (!$e->Add($arFields,false,true,false)) {
    			echo "Error: ".$e->LAST_ERROR;
    		}
    		else {
    			echo "Всё ништяк";
    		}
    -------------------------------------------------------------------
    Возвращается:
    ----------------------------------------------------------------
    Array
    (
        [IBLOCK_ID] => 5
        [NAME] => Отзыв
        [PROPERTY_VALUES] => Array
            (
                [ID_PRODUCT] => 119
                [ID_USER] => 1
                [TEXT] => kdfkja
            )
    
    )
    Всё ништяк
    ----------------------------------------------------------------
    Создаётся новая запись, но почему-то в свойстве TEXT одна левая буква какая-то, ничо понять не могу(((

    minnigaliev-r, 19 Ноября 2010

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