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

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

    +86

    1. 1
    2. 2
    3. 3
    int createStageCycles = 0;
    createStageCycles = Integer.parseInt(strCycle);
    int nextVal = new Integer(createStageCycles) + 1;

    int двойного отжима

    zloizerg, 07 Мая 2012

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

    −428

    1. 1
    2. 2
    3. 3
    4. 4
    url = request.get_full_path()
    if 'show_error' in url:
        show_param = url.split('?show_error=')
        error = show_param[1]

    Кусок кода из Django проекта
    Взяли индуса на работу. Вот так он достает GET параметры

    larikov, 07 Мая 2012

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

    +111

    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
    {$APPTYPE CONSOLE}
    {$R *.res}
    
    type
      TFTest = class
      public
        B: string;
        function Add(S: string = ''): TFTest;
        constructor Create(T: TFTest); overload;
      end;
    
    function TFTest.Add(S: string): TFTest;
    begin
      B := B + S;
      Exit(Self);
    end;
    
    var
      A: TFTest;
    
    constructor TFTest.Create(T: TFTest);
    begin
      B := T.B;
    end;
    
    begin
      writeln(TFTest.Create.Add('0')
        .Create((TFTest.Create(TFTest.Create(((((((TFTest.Create(TFTest.Create).Add('0')).Add('1').Create.Add('2')
        .Add as TObject).Create) as TFTest.ClassParent) as TFTest).Create).Add('3')).Add.Add('4').Create).Add('5')).Add('6')
        ).Add('7').B);
      readln;
    
    end.

    Кто правильно обьяснит этот код, получит... ничего получит :)

    ReckO, 05 Мая 2012

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

    +115

    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
    foreach (var sheet in paper.Decomposed)
    {
                    if (ct > 0 && sheet.Equals(paper.Decomposed[ct]))
                    {
                        paper.PaperPrice += paperPrice;
                        paper.PrintingPrice += printingPrice;
                        paper.PlatesPrice += platesPrice;
                        ct++;
                        continue;
                    }
                    ct++;
    ...
    }

    UniXoiD, 04 Мая 2012

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

    +86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (bindingContext != null && files != null) {
     if (files != null && bindingContext != null) {
      // bla-bla
     }
    }

    I want to be sure!

    Art, 04 Мая 2012

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

    +72

    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    const 
    zn1 = #60; { < }   
    zn2 = #62; { > } 
    
    function EnCrypt(ds: string): string;
      var 
    k,l,m: string; 
    i,b,g: integer; 
    t: char;
       function Lvs(ds: byte): string;
       begin
        case ds of 
       Byte(zn1): Result:= zn1+zn2;
       Byte(zn2): Result:= zn2+zn1;
             0: if Random(2)=0 then  Result:= zn1+zn1 
                 else Result:= zn2+zn2;
               else 
                 Result:= Chr(ds);end;
       end;
      begin
       if length(ds)=0 then Exit; 
       Randomize;  k:=''; m:='';  b:=1;
     for i:=1 to RandomRange(5,16) do 
      k:= k+Chr(RandomRange(1,256));
       for i:=1 to Length(ds) do  begin 
    g:= Byte(ds[i])xor Byte(k[b]);
       l:= Lvs(g); t:= k[b];
    if i<= Length(k) then m:= m+t+l else m:=m+l;
    Inc(b);
       if b>Length(k) then b:= 1; 
      end; 
    l:= Chr(Length(k))+m;
       for  i:=1 to Length(l) do begin 
    b:= Byte(l[I]) xor i;k:= Lvs(b);
       Result:= Result+k; 
    end;
      end;
    
     function DeCrypt(ds: string): string;
      var 
    k,c,l,n: string; 
    i,b,m: integer; 
    d: boolean;
       function Svl(ds: string; ts: integer): char;
       var t: byte;
       begin
        t:=Byte(ds[1]);
        if ds=zn1+zn2 then t:=Byte(zn1);
        if ds=zn2+zn1 then t:=Byte(zn2);
        if(ds=zn1+zn1) or (ds=zn2+zn2) then t:= 0;
       Result:=Chr(Byte(t xor ts));
       end;
      begin
       if length(ds)=0 then Exit;
     b:=1; i:=1; n:='';
       while i<=Length(ds) do begin c:= ds[i];
       if (ds[i]=zn1)or(ds[i]=zn2)then begin 
    c:=ds[i]+ds[i+1]; Inc(i); end;
       Inc(i);
     n:= n+Svl(c,b); 
    Inc(b); 
    end; c:=''; k:=''; b:=1; i:=1; 
    d:=false;
    m:=Byte(n[1]); 
    Delete(n,1,1);
       while i<=Length(n)do begin 
    if b<=m*2 then begin if d then begin 
    l:=n[i];
      if (n[i]=zn1) or (n[i]=zn2) then 
    begin 
        l:= n[i]+n[i+1]; Inc(i); 
    end;
       c:=c+l; 
    Inc(b);
    d:=false; 
    end else 
    begin 
    k:=k+n[i]; d:=true; Inc(b); 
    end;
       end else begin 
    l:= n[i]; 
    if (n[i]=zn1) or (n[i]=zn2) then 
    begin   l:= n[i]+n[i+1]; Inc(i); end;  
    c:=c+l; end;
     Inc(i); end;
       if length(c)=0 then Exit;
    i:=1;b:=1; 
    while i<=Length(c)do begin 
    l:=c[i];
       if (c[i] = zn1) or (c[i] = zn2) then 
    begin 
    l:= c[i] + c[i+1]; Inc(i); 
    end;
       Inc(i);
    Result:= Result + Svl(l, Byte(k[b]));
    Inc(b);
    if b>Length(k)then b:=1;
       end;
      end;

    В очень далёком 99м году была совершена попытка шифровать и дешифровать пароли пользователей простым ХОР-замесом. Тогда такой способ казался идеальным и оригинальным :) Но посмотрите, если руки не оттуда откуда надо растут, как же можно извратиться, чистый говнокод! До сих пор им пользуюсь, немного. Интересно, ктонить догадается, зачем здесь константные знаки используются?

    Alegun, 27 Апреля 2012

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

    −15

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function _taxonomy_image_exists($tid) {
      if (db_fetch_object(db_query('SELECT path FROM {term_image} WHERE tid=%d', $tid))) {
        return TRUE;
      }
      return FALSE;
    }

    brainstorm, 22 Апреля 2012

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

    +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
    function translit ($out='') {
    
    		$out = iconv('UTF-8', 'CP1251', $out);
    		
    		$eval = '
    		$out = strtr($out,
    			"абвгдезийклмнопрстуфхцыэАБВГДЕЗИЙКЛМНОПРСТУФХЦЫЭ№",
    			"abvgdezijklmnoprstufhcieABVGDEZIJKLMNOPRSTUFHCIE#"
    		);
    
    		$out = strtr($out, array(
    			"ё"=>"yo", "ж"=>"zh", "ч"=>"ch", "ш"=>"sh", "щ"=>"shh", "ъ"=>"``", "ь"=>"`", "ю"=>"yu", "я"=>"ya",
    			"Ё"=>"Yo", "Ж"=>"Zh", "Ч"=>"Ch", "Ш"=>"Sh", "Щ"=>"Shh", "Ъ"=>"``", "Ь"=>"`", "Ю"=>"Yu", "Я"=>"Ya"
    			));
    		';
    		$eval = iconv('UTF-8', 'CP1251', $eval);
    
    		eval ($eval);
    
    	return iconv('CP1251', 'UTF-8', $out);
    	}

    bot-minurast, 20 Апреля 2012

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

    +133

    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
    #include <stdio.h>
    
    float abs(float a) { return a > 0 ? a : -a; }
    
    int main() {
        float x, e, step = 1, summ = step;
        int i = 0;
        
        scanf("%f, %f", (printf("x, e: "), &x), &e);
        
        do summ += (abs(step *= x / ++i) > e) ? step : 0; while (abs(step) > e);
        
        printf("summ = %f\n", summ);
        
        return 0;
    }

    вычисление суммы ряда (1 + x/1! + x^2/2! + ... + x^n/n!), с заданной точностью

    igoreknog, 14 Апреля 2012

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    if (FileAssociation.IsAssociated(".avi") || !FileAssociation.IsAssociated(".avi"))
                {
                    FileAssociation.Associate(".avi", "Flvplayer", ".avi", a, b);
                }

    http://www.cyberforum.ru/csharp-beginners/thread304416.html

    Somov, 12 Апреля 2012

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