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

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function draw_text() {
    // ***
    // Здесь код, генерирующий изображение для текста капчи
    // $im_text - это его дескриптор
    // Но самое интересное в конце ))
    // ***
    return $im_text;
    imagedestroy($im_text); 
    }

    MODx Evolution 1.0.5, фрагмент кода, отвечающего за генерацию капчи

    shlyapa, 11 Декабря 2011

    Комментарии (13)
  3. Objective C / Говнокод #8769

    −118

    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
    int CurrentPos;
    
    NSInteger cnt = [ListOfFtpFiles count];
    
    CurrentPos = [[[NSUserDefaults standardUserDefaults] objectForKey:@"DownLoadIndex" ] intValue];
    if (CurrentPos==nil)  CurrentPos=0;
    
    if (CurrentPos == 0) 
    {
        //...
        for (int i = 0; i < (int)cnt; i=i+1)
    	//...
    }

    kodovich, 08 Декабря 2011

    Комментарии (13)
  4. ActionScript / Говнокод #8768

    −114

    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
    for(i=0;i<5;i++){
    		if(_root.positions[i] == number){
    // поменяем мувиклипы местами
    			p2=_root.positions[i+1];
    			with(_root){
    			switch(p2){
    				case 2: tx=b._x; ty=b._y; b._x=c._x; b._y=c._y; c._x=tx; c._y=ty; break;
    				case 1: tx=a._x; ty=a._y; a._x=c._x; a._y=c._y; c._x=tx; c._y=ty; break;
    				case 4: tx=d._x; ty=d._y; d._x=c._x; d._y=c._y; c._x=tx; c._y=ty; break;
    				case 5: tx=e._x; ty=e._y; e._x=c._x; e._y=c._y; c._x=tx; c._y=ty; break;
    				case 6: tx=f._x; ty=f._y; f._x=c._x; f._y=c._y; c._x=tx; c._y=ty; break;
    				default: break;
    			}
    			}

    Когда-то давно написал это, чтобы менять местами два прямоугольника, лежащие рядом, по нажатию на кнопку на одном из них. До сих пор горжусь тем, какой же я крутой кодер.

    unfalse, 08 Декабря 2011

    Комментарии (13)
  5. JavaScript / Говнокод #8756

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var numb = '0123456789';
    var lwr = 'abcdefghijklmnopqrstuvwxyz';
    var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    
    function isValid(parm,val) {
    if (parm == "") return true;
    for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
    }
    return true;
    }

    http://javascript.about.com/library/blvalid02.htm

    Вырезка из шапки:
    Javascript does not contain functions that test specifically for alphabetic or numeric content but we can easily provide these functions for ourselves...

    denis90, 06 Декабря 2011

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

    +86

    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
    public void type(char character) {
        	switch (character) {
        	case 'a': doType(VK_A); break;
        	case 'b': doType(VK_B); break;
        	case 'c': doType(VK_C); break;
        	case 'd': doType(VK_D); break;
        	case 'e': doType(VK_E); break;
        	case 'f': doType(VK_F); break;
        	case 'g': doType(VK_G); break;
        	case 'h': doType(VK_H); break;
        	case 'i': doType(VK_I); break;
        	case 'j': doType(VK_J); break;
        	case 'k': doType(VK_K); break;
        	case 'l': doType(VK_L); break;
        	case 'm': doType(VK_M); break;
        	case 'n': doType(VK_N); break;
        	case 'o': doType(VK_O); break;
        	case 'p': doType(VK_P); break;
        	case 'q': doType(VK_Q); break;
        	case 'r': doType(VK_R); break;
        	case 's': doType(VK_S); break;
        	case 't': doType(VK_T); break;
        	case 'u': doType(VK_U); break;
        	case 'v': doType(VK_V); break;
        	case 'w': doType(VK_W); break;
        	case 'x': doType(VK_X); break;
        	case 'y': doType(VK_Y); break;
        	case 'z': doType(VK_Z); break;
        	case 'A': doType(VK_SHIFT, VK_A); break;
        	case 'B': doType(VK_SHIFT, VK_B); break;
        	case 'C': doType(VK_SHIFT, VK_C); break;
        	case 'D': doType(VK_SHIFT, VK_D); break;
        	case 'E': doType(VK_SHIFT, VK_E); break;
    <...>
        	case '$': doType(VK_DOLLAR); break;
        	case '%': doType(VK_SHIFT, VK_5); break;
        	case '^': doType(VK_CIRCUMFLEX); break;
        	case '&': doType(VK_AMPERSAND); break;
        	case '*': doType(VK_ASTERISK); break;
        	case '(': doType(VK_LEFT_PARENTHESIS); break;
        	case ')': doType(VK_RIGHT_PARENTHESIS); break;
        	case '_': doType(VK_UNDERSCORE); break;
        	case '+': doType(VK_PLUS); break;
        	case '\t': doType(VK_TAB); break;
        	case '\n': doType(VK_ENTER); break;
        	case '[': doType(VK_OPEN_BRACKET); break;
        	case ']': doType(VK_CLOSE_BRACKET); break;
        	case '\\': doType(VK_BACK_SLASH); break;
        	case '{': doType(VK_SHIFT, VK_OPEN_BRACKET); break;
        	case '}': doType(VK_SHIFT, VK_CLOSE_BRACKET); break;
        	case '|': doType(VK_SHIFT, VK_BACK_SLASH); break;
        	case ';': doType(VK_SEMICOLON); break;
        	case ':': doType(VK_COLON); break;
        	case '\'': doType(VK_QUOTE); break;
        	case '"': doType(VK_QUOTEDBL); break;
        	case ',': doType(VK_COMMA); break;
        	case '<': doType(VK_LESS); break;
        	case '.': doType(VK_PERIOD); break;
        	case '>': doType(VK_GREATER); break;
        	case '/': doType(VK_SLASH); break;
        	case '?': doType(VK_SHIFT, VK_SLASH); break;
        	case ' ': doType(VK_SPACE); break;
        	default:

    http://stackoverflow.com/questions/1248510/convert-string-to-keyevents
    Конвертируем символы в клавиши.
    Боян, да. Но теперь на джаве. Кстати, автор забыл про toLower и toUpper.

    RaZeR, 01 Декабря 2011

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

    +165

    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
    try {
        $newUserId = $users->insert($data);
    } catch (Exception $e) {
        if ($e->getCode() == '23000') {
            $this->customRedirect(
                array(
                    'notice',
                    'User already exists',
                )
            );
            return;
        } else {
            throw new Exception(null, null, $e);
        }
    }

    Быстрая проверка на уникальность.

    grudzinsky, 29 Ноября 2011

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

    +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
    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
    <? include "../o-proekte/connect.php";?>
    <ul id="nav">
    <li><a class=" link" href="citaty-i-aforizmy/">А</a>
    <ul>
    <?$a =  iconv('utf8', 'cp1251', "А");
    $sql = 'SELECT * FROM authors WHERE name LIKE "'.$a.'%"'; 
    $query = mysql_query($sql) or die("Invalid query: " . mysql_error());
    While ($row = mysql_fetch_array ($query))
    {$results[] = $row;};?>
    <? foreach ($results as $num=> $result ) {
    echo iconv("cp1251", "utf8", "<li><a href=".$result['id']." id=".$result['name'].">".$result['name']."</a></li>");
    }?>
    </ul>
    </li>
    <li><a class=" link" href="citaty-i-aforizmy/">Б</a>
    <ul>
    <?$b =  iconv('utf8', 'cp1251', "Б");
    $sqlb = 'SELECT * FROM authors WHERE name LIKE "'.$b.'%"'; 
    $queryb = mysql_query($sqlb) or die("Invalid query: " . mysql_error());
    While ($rowb = mysql_fetch_array ($queryb))
    {$resultsb[] = $rowb;};?>
    <? foreach ($resultsb as $numb=> $resultb ) {
    echo iconv("cp1251", "utf8", "<li><a href=\"\">".$resultb['name']."</a></li>");
    }?>
    </ul>
    </li>
    <li><a class=" link" href="citaty-i-aforizmy/">В</a>
    <ul>
    <?$v =  iconv('utf8', 'cp1251', "В");
    $sqlv = 'SELECT * FROM authors WHERE name LIKE "'.$v.'%"'; 
    $queryv = mysql_query($sqlv) or die("Invalid query: " . mysql_error());
    While ($rowv = mysql_fetch_array ($queryv))
    {$resultsv[] = $rowv;};?>
    <? foreach ($resultsv as $numv=> $resultv ) {
    echo iconv("cp1251", "utf8", "<li><a href=\"\">".$resultv['name']."</a></li>");
    }?>
    </ul>
    </li>
    <li><a class=" link" href="citaty-i-aforizmy/">Г</a>
    <ul>
    <?$g =  iconv('utf8', 'cp1251', "Г");
    $sqlg = 'SELECT * FROM authors WHERE name LIKE "'.$g.'%"'; 
    $queryg = mysql_query($sqlg) or die("Invalid query: " . mysql_error());
    While ($rowg = mysql_fetch_array ($queryg))
    {$resultsg[] = $rowg;};?>
    <? foreach ($resultsg as $numg=> $resultg ) {
    echo iconv("cp1251", "utf8", "<li><a href=\"\">".$resultg['name']."</a></li>");
    }?>
    </ul>
    </li>
    <li><a class=" link" href="citaty-i-aforizmy/">Д</a>
    <ul>
    <?$d =  iconv('utf8', 'cp1251', "Д");
    $sqld = 'SELECT * FROM authors WHERE name LIKE "'.$d.'%"'; 
    $queryd = mysql_query($sqld) or die("Invalid query: " . mysql_error());
    While ($rowd = mysql_fetch_array ($queryd))
    {$resultsd[] = $rowd;};?>
    <? foreach ($resultsd as $numd=> $resultd ) {
    echo iconv("cp1251", "utf8", "<li><a href=\"\">".$resultd['name']."</a></li>");
    }?>
    </ul>
    </li>
    <li><a class=" link" href="citaty-i-aforizmy/">Е</a>
    <ul>
    <?$e =  iconv('utf8', 'cp1251', "Е");
    $sqle = 'SELECT * FROM authors WHERE name LIKE "'.$e.'%"'; 
    $querye = mysql_query($sqle) or die("Invalid query: " . mysql_error());
    While ($rowe = mysql_fetch_array ($querye))
    {$resultse[] = $rowe;};?>
    <? foreach ($resultse as $nume=> $resulte ) {
    echo iconv("cp1251", "utf8", "<li><a href=\"\">".$resulte['name']."</a></li>");
    }?>
    </ul>
    </li>
    <li><a class=" link" href="citaty-i-aforizmy/">Ж</a>
    <ul>
    <?$j =  iconv('utf8', 'cp1251', "Ж");
    $sqlj = 'SELECT * FROM authors WHERE name LIKE "'.$j.'%"'; 
    $queryj = mysql_query($sqlj) or die("Invalid query: " . mysql_error());
    While ($rowj = mysql_fetch_array ($queryj))
    {$resultsj[] = $rowj;};?>
    <? foreach ($resultsj as $numj=> $resultj ) {
    echo iconv("cp1251", "utf8", "<li><a href=\"\">".$resultj['name']."</a></li>");
    }?>
    </ul>
    </li>
    <li><a class=" link" href="citaty-i-aforizmy/">З</a>
    <ul>
    <?$z =  iconv('utf8', 'cp1251', "З");
    $sqlz = 'SELECT * FROM authors WHERE name LIKE "'.$z.'%"'; 
    $queryz = mysql_query($sqlz) or die("Invalid query: " . mysql_error());
    While ($rowz = mysql_fetch_array ($queryz))
    {$resultsz[] = $rowz;};?>
    <? foreach ($resultsz as $numz=> $resultz ) {
    echo iconv("cp1251", "utf8", "<li><a href=\"\">".$resultz['name']."</a></li>");

    нужно чтобы php выводил что то типа
    А Б
    август Брайан
    Бекхем
    и т.д. (c)phpforum.ru

    hookman, 27 Ноября 2011

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

    +146

    1. 1
    for (int i=0, N=sizeof(a)/sizeof(int); ++i<N-1; s+=(int)(a[i]>a[i-1]&&a[i]>a[i+1]));

    Это говнокод или годный троллинг? Топик http://forum.codenet.ru/threads/69046-Помогите-задача-С/

    mrxak, 22 Ноября 2011

    Комментарии (13)
  10. C# / Говнокод #8515

    +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
    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
    static public int MeasureDisplayStringWidth(Graphics graphics, string text,
                                                Font font)
    {
        const int width = 32;
    
        System.Drawing.Bitmap   bitmap = new System.Drawing.Bitmap (width, 1, 
                                                                    graphics);
        System.Drawing.SizeF    size   = graphics.MeasureString (text, font);
        System.Drawing.Graphics anagra = System.Drawing.Graphics.FromImage(bitmap);
    
        int measured_width = (int) size.Width;
    
        if (anagra != null)
        {
            anagra.Clear (Color.White);
            anagra.DrawString (text+"|", font, Brushes.Black,
                               width - measured_width, -font.Height / 2);
    
            for (int i = width-1; i >= 0; i--)
            {
                measured_width--;
                if (bitmap.GetPixel (i, 0).R != 255)    // found a non-white pixel ?
    
                    break;
            }
        }
    
        return measured_width;
    }

    Ищем размер нарисованной строки. Не моё. Нашел на codeproject.
    (Вместо MeasureCharacterRanges)

    rammara, 14 Ноября 2011

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $time=12843;
     
    echo $hours = floor($time/3600);
    echo '<br />';
    echo floor($minutes = ($time/3600 - $hours)*60);
    echo '<br />';
    echo $seconds = ceil(($minutes - floor($minutes))*60);

    Пых даты ...

    Sulik78, 13 Ноября 2011

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