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

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

    −121

    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
    sub save_info {
        beginTransaction();
         
        #-------    250 строк страшного кода, типа:    ---------
        .....
        goto ERROR if $error_code != 0;
        .....
        
        #-------    или
        if ( $res = save_item($data) ) {
            goto OK;
        }
        ............
           
        #-------    Но конец просто меня убил!!!    ---------  
        OK:
        commitTransaction();
        goto RET;
    
        ERROR:
        rollbackTransaction();
    
        RET:
        return $res;
    }

    Я около 3 лет пишу на perl. И догадывался, что есть perl-программисты, которые используют оператор goto LABEL.
    Но я никогда не думал, что мне придется саппортить их код!!!

    antonfin, 13 Августа 2010

    Комментарии (30)
  3. Haskell / Говнокод #3942

    −91

    1. 1
    2. 2
    fac 1 = 1
    fac n = fac (n-1) * n

    Вычисления факторила advanced-нубами с луркмора(с) на Haskell

    sergylens, 11 Августа 2010

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

    +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
    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
    void shiftOrder(int* _order, int _count, int _column)
    {
        int i=_count-1;
        while ( _order[i]!=_column )
            i--;
    
        _order[_count]=_order[i];
        memcpy( _order+i, _order+i+1, (_count-i)*sizeof(int) );
    
        return;
    }
    
    void returnOrder(int* _order, int _count, int _column)
    {
        int i=0;
        int j=0;
        int order[MAX_COLS];
    
        for ( i=0; i< _count; i++)
        {
            if ( m_ColInfo[i].visible )
            {
                order[j]=i;
                j++;
            }
        }
    
        i=j;
        while ( j<_count )
        {
            if ( _order[i-1]!=_column )
            {
                order[j]=_order[i-1];
                j++;
            }
            i++;
        }
        memcpy(_order, order, MAX_COLS*sizeof(int));
    
        return;
    }

    я знаю, это всё торфяники!1

    ilardm, 30 Июля 2010

    Комментарии (30)
  5. Си / Говнокод #3386

    +132

    1. 1
    2. 2
    3. 3
    if ((strlen == 0) && (key ==BNS_CLR_K || key ==WISE_K_BSPACE))
    				;
    else

    aljosha, 03 Июня 2010

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

    +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
    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 is_bot() {
    	if (defined("IS_BOT")) {
    		return 1;
    	}
    	elseif (defined("IS_NOT_BOT")) {
    		return 0;
    	}
    	elseif (!defined("IS_BOT") and !defined("IS_NOT_BOT")) {
    		if (file_exists(INCLUDE_PATH."includes/core/is_bot.php")) {
    			require_once(INCLUDE_PATH."includes/core/is_bot.php");
    			if (function_exists('is_bot_real')) {
    				return is_bot_real();
    			}
    			else {
    				define("IS_NOT_BOT", true);
    				return 0;
    			}
    		}
    		else {
    			define("IS_NOT_BOT", true);
    			return 0;
    		}
    	}
    	else {
    		define("IS_NOT_BOT", true);
    		return 0;
    	}
    }

    PHPNuke, mainfile.php

    telnet, 30 Мая 2010

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

    +86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    procedure Click(H: hWnd);
    begin
      SendMessage(H, wm_LButtonDown, 0, 0);
      SendMessage(H, wm_LButtonUp, 0, 0);
    end;

    Как я круто по-хакерски сэмулировал нажатие на кнопку или на радиобаттон.

    TarasB, 26 Мая 2010

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

    +61

    1. 1
    2. 2
    3. 3
    FILE *h=fopen(fileDMB, "r");
    char *fileDMBtext;
    while(fileDMBtext=fgetc(h)!=EOF){return 0;}

    Я даже знаю компилятор в котором это работает.

    hromjo, 20 Апреля 2010

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

    +912.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ... WndProc (...)
    {
          case WM_PAINT:
               SetPixel (dc, 0, 0, RGB (255, 0, 0));
               if (GetPixel (dc, 0, 0) == RGB (255, 0, 0))
                       printf ("Я знал!");
          break;
    }

    ...

    XAKEP, 18 Апреля 2010

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

    +166

    1. 1
    $limit = (isset($this->params['pass'][1]) == 'news')?null:5;

    балина, и это работает :D

    lener, 02 Апреля 2010

    Комментарии (30)
  11. JavaScript / Говнокод #2765

    +170.8

    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
    Char2Hex = new Object();
    
    Char2Hex['_']='%5F';
    Char2Hex['А']='%C0';
    Char2Hex['Б']='%C1';
    Char2Hex['В']='%C2';
    Char2Hex['Г']='%C3';
    Char2Hex['Д']='%C4';
    Char2Hex['Е']='%C5';
    Char2Hex['Ж']='%C6';
    Char2Hex['З']='%C7';
    Char2Hex['И']='%C8';
    Char2Hex['Й']='%C9';
    Char2Hex['К']='%CA';
    Char2Hex['Л']='%CB';
    Char2Hex['М']='%CC';
    Char2Hex['Н']='%CD';
    Char2Hex['О']='%CE';
    Char2Hex['П']='%CF';
    Char2Hex['Р']='%D0';
    Char2Hex['С']='%D1';
    Char2Hex['Т']='%D2';
    Char2Hex['У']='%D3';
    Char2Hex['Ф']='%D4';
    Char2Hex['Х']='%D5';
    Char2Hex['Ц']='%D6';
    Char2Hex['Ч']='%D7';
    Char2Hex['Ш']='%D8';
    Char2Hex['Щ']='%D9';
    Char2Hex['Ъ']='%DA';
    Char2Hex['Ы']='%DB';
    Char2Hex['Ь']='%DC';
    Char2Hex['Э']='%DD';
    Char2Hex['Ю']='%DE';
    Char2Hex['Я']='%DF';
    Char2Hex['а']='%E0';
    Char2Hex['б']='%E1';
    Char2Hex['в']='%E2';
    Char2Hex['г']='%E3';
    Char2Hex['д']='%E4';
    Char2Hex['е']='%E5';
    Char2Hex['ж']='%E6';
    Char2Hex['з']='%E7';
    Char2Hex['и']='%E8';
    Char2Hex['й']='%E9';
    Char2Hex['к']='%EA';
    Char2Hex['л']='%EB';
    Char2Hex['м']='%EC';
    Char2Hex['н']='%ED';
    Char2Hex['о']='%EE';
    Char2Hex['п']='%EF';
    Char2Hex['р']='%F0';
    Char2Hex['с']='%F1';
    Char2Hex['т']='%F2';
    Char2Hex['у']='%F3';
    Char2Hex['ф']='%F4';
    Char2Hex['х']='%F5';
    Char2Hex['ц']='%F6';
    Char2Hex['ч']='%F7';
    Char2Hex['ш']='%F8';
    Char2Hex['щ']='%F9';
    Char2Hex['ъ']='%FA';
    Char2Hex['ы']='%FB';
    Char2Hex['ь']='%FC';
    Char2Hex['э']='%FD';
    Char2Hex['ю']='%FE';
    Char2Hex['я']='%FF';

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

    danilissimus, 11 Марта 2010

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