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

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

    +154

    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
    #include <iostream>
    #include <stdio.h>
     
    void foo(const long) { std::cout << "long" << std::endl; }
     
    template<typename _type_>
    void omg()
    {
            short i = 0;
            foo(i);
    }
     
    void foo(const short) { std::cout << "short" << std::endl; }
     
    int main(int, char*[])
    {
      omg<int>();
     
      getchar();
      return 0;
    }

    код для гцц -> http://ideone.com/mifTV

    вопрос, что выдаст говностудия?

    связанно с тем, что говностудия не ищет независимые типы использованные в шаблоне на этапе определения. она их ищет только в точке конкретизации шаблона. гцц связывает независимые типы в шаблоне на этапе определения шаблона

    З.Ы. ответ на http://govnokod.ru/9885#comment134160

    Govnoeb, 09 Апреля 2012

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

    +126

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ...
    {else}
        {assign var=count value=0}
        {foreach from=$item.child item=item2 key=key2}
            {if $item2.virtual != 1}
                {assign var=count value=$count+1}
            {/if}
        {/foreach}
        {if $count > 0}
    ...

    Smarty. Выдранный кусок из шаблона сайта.

    zii, 09 Апреля 2012

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

    +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
    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
    program pr8;
    uses crt;
    var
    a:array [1..32] of char;
    b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r:integer;
    a1,b1,c1,d1,e1,f1,g1,h1,i1,j1,k1,l1,m1,n1,o1,p1: integer;
    begin
    a[1]:=' ';
    a[2]:='Ў';
    a[3]:='ў';
    a[4]:='Ј';
    a[5]:='¤';
    a[6]:='Ґ';
    a[7]:='¦';
    a[8]:='§';
    a[9]:='Ё';
    a[10]:='©';
    a[11]:='Є';
    a[12]:='«';
    a[13]:='¬';
    a[14]:='­';
    a[15]:='®';
    a[16]:='Ї';
    a[17]:='а';
    a[18]:='б';
    a[19]:='в';
    a[20]:='г';
    a[21]:='д';
    a[22]:='е';
    a[23]:='ж';
    a[24]:='з';
    a[25]:='и';
    a[26]:='й';
    a[27]:='к';
    a[28]:='л';
    a[29]:='м';
    a[30]:='н';
    a[31]:='о';
    a[32]:='п';
    b:=21;
    c:=24;
    d:=6;
    e:=13;
    f:=15;
    g:=19;
    h:=18;
    i:=20;
    j:=10;
    k:=21;
    l:=10;
    m:=10;
    n:=14;
    o:=9;
    p:=10;
    q:=18;
    for r:=1 to 32 do
    begin
    a1:=b+r;
    if a1>32 then a1:=a1-32;
    b1:=c+r;
    if b1>32 then b1:=b1-32;
    c1:=d+r;
    if c1>32 then c1:=c1-32;
    d1:=e+r;
    if d1>32 then d1:=d1-32;
    e1:=f+r;
    if e1>32 then e1:=e1-32;
    f1:=g+r;
    if f1>32 then f1:=f1-32;
    g1:=h+r;
    if g1>32 then g1:=g1-32;
    h1:=i+r;
    if h1>32 then h1:=h1-32;
    i1:=j+r;
    if i1>32 then i1:=i1-32;
    j1:=k+r;
    if j1>32 then j1:=j1-32;
    k1:=l+r;
    if k1>32 then k1:=k1-32;
    l1:=n+r;
    if l1>32 then l1:=l1-32;
    m1:=m+r;
    if m1>32 then m1:=m1-32;
    n1:=o+r;
    if n1>32 then n1:=n1-32;
    o1:=p+r;
    if o1>32 then o1:=o1-32;
    p1:=q+r;
    if p1>32 then p1:=p1-32;
    writeln(a[a1],a[b1],a[c1],a[d1],a[e1],a[f1],a[g1],'  ',a[h1],a[i1],a[j1],a[k1],a[l1],a[m1],a[n1],a[o1],a[p1]);
    end;
    readln;
    CLRSCR
    end.

    Парниша пытался написать шифр Цезаря... :)

    Vendetta, 08 Апреля 2012

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

    +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
    private void cmd_Click(object sender, MouseEventArgs e)
        {
            for (int y = 0; y < matrixHeight; y++)
            {
                for (int x = 0; x < matrixWidth; x++)
                {
                    if (cmd[x, y].GetHashCode() == sender.GetHashCode())
                    {
                        //your code here
                    }
                }
            }
        }

    Таким волшебным способом реализован единый метод обработки кликов для двумерного массива кнопок...

    vistefan, 06 Апреля 2012

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

    +126

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public string RMV(string content, string charr)
                {
                    int X = content.IndexOf(charr);
                    if (X < 1) ;
                    else content = content.Remove(X);
                    content = content.TrimEnd();
                    return content;
                }

    Всё внимание на ветвление =)

    kefirnot, 30 Марта 2012

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

    +28

    1. 1
    2. 2
    3. 3
    function _spb_similar_similar_video_html(&$item, $key) {
      $item = htmlspecialchars($item, ENT_NOQUOTES);
    }

    brainstorm, 29 Марта 2012

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

    +154

    1. 1
    if (!empty($params[$fieldName.'_need_group']) ? true : false) $errors[$fieldName] = 2;

    Просто очень тщательная проверка, если true то true, а если false то false....

    nikll, 28 Марта 2012

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

    −86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    - (void)refreshCursorRow
     {
         int row = [dataSource numberOfLines] - [dataSource height] + [dataSource cursorY];
    -    [self setNeedsDisplayInRect:CGRectMake(0, row *lineHeight, self.frame.size.width, lineHeight)];
    +    if (SaurikIsSad)
    +        [self setNeedsDisplay];
    +    else
    +        [self setNeedsDisplayInRect:CGRectMake(0, row *lineHeight, self.frame.size.width, lineHeight)];
     }

    В ходе гугления случайно наткнулся на этот diff-патч
    Остаётся узнать, кто такой Саурик, и почему он расстроен

    krypt, 27 Марта 2012

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

    +154

    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
    function get_domain ($url)
    {
    	preg_match("/^(http:\/\/)?([^\/]+)/i",
        $url, $matches);
    	$host = $matches[2];
    	 
    	// get last two segments of host name
    	preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
    	return $matches[0];
    }
    function get_host ($url)
    {
    	preg_match("/^(http:\/\/)?([^\/]+\.[^\/]+)\/?/i",
        $url, $matches);
    	$host = $matches[2];
    	return $host;
    }

    я ошибаюсь, или всё это можно сделать с помощью parse_url?

    roman-kashitsyn, 27 Марта 2012

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

    +156

    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
    $data = substr($data, stripos($data,"operate(") + 50);
    $a[$i][2] = substr($data, stripos($data,'<b id="performer'));
    $a[$i][2] = substr($a[$i][2], stripos($a[$i][2],">")+1);
    $a[$i][3] = substr($a[$i][2], stripos($a[$i][2],"<"));
    $a[$i][2] = substr($a[$i][2], 0, stripos($a[$i][2],"<"));
    
    $a[$i][3] = substr($a[$i][3], stripos($a[$i][3],'<span id="title'));
    $a[$i][3] = substr($a[$i][3], stripos($a[$i][3],">")+1);
    if ($a[$i][3][0] == '<') {$a[$i][3] = substr($a[$i][3], stripos($a[$i][3],">")+1);}
    $a[$i][4] = substr($a[$i][3], stripos($a[$i][3],"<"));
    $a[$i][3] = substr($a[$i][3], 0, stripos($a[$i][3],"<"));
    $a[$i][4] = substr($a[$i][4], stripos($a[$i][4],'<div class="duration">')+22);
    $a[$i][4] = substr($a[$i][4], 0, stripos($a[$i][4],"<"));
    
    
    
    }
    $l = 52;
    
    for($i = 0; $i<=$l; $i++){
    
    $a[$i][1] = substr($a[$i][1],0,stripos($a[$i][1],")"));
    $a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
    $a1 = substr($a[$i][1],0,stripos($a[$i][1],","));
    $a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
    $a2 = substr($a[$i][1],0,stripos($a[$i][1],","));
    $a[$i][1] = substr($a[$i][1],stripos($a[$i][1],",")+1);
    $a3 = substr($a[$i][1],0,stripos($a[$i][1],","));
    $a3 = substr($a3, 1 , strlen($a3)-2);
    $name = explode(' ',$a[$i][3]);
    $name = $name[0].' '.$name[1].' '.$name[2];

    Человек совсем не знает регулярок...

    udi, 18 Марта 2012

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