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

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

    +19

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    struct BufInfo 
    {
    	const tbal::Bitmap &src, &dst;
    	int y1, y2;
    	BufInfo (const tbal::Bitmap &scr, const tbal::Bitmap &dst, int y1, int y2) : src(src), dst(dst), y1(y1), y2(y2) {}
    };

    Как можно проебать час жизни...

    TarasB, 20 Марта 2013

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

    +11

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    typedef void Start1(void);
    struct Kernel
    {
        Start1 Start;
    } kernel;
     
    void Kernel::Start(void)
    {
     
    }

    Как всегда оттуда.

    LispGovno, 06 Ноября 2012

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

    +21

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main()
    {
        unsigned int input[65536];
        int counter=0;
        while(scanf("%u", &(input[counter++])) != EOF);
        while (counter-- > 0) printf("%.4f\n", sqrt((double)(input[counter])));
        return 0;
    }

    Реализация задачи http://acm.timus.ru/problem.aspx?space=1&num=1001

    kganker, 19 Октября 2012

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

    +57

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if($atributId){
          $sql = "UPDATE directory_atributes SET name = '$newName' WHERE id = $atributId LIMIT 1";
          $db-> Query($sql);
          die();
     } else{
          die();
     }

    Депрессивное программирование. В любом случае ты умрёшь.

    somnambulism, 01 Октября 2012

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

    +126

    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
    double fact(int value)
            {
                switch (value)
                {
                    case 0:
                        return 1;
                        break;
                    case 1:
                        return 1;
                        break;
                    default:
                        return value * fact(value - 1);
                        break;
                }
            }

    Вычисление факториала

    zzANDREYzz, 04 Апреля 2012

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

    −122

    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
    Функция ПреобразованиеДаты(Дата) Экспорт
    Если НЕ ПустаяСтрока(Дата) Тогда	
    	ГодКраткий = Прав(Дата, 2);
    	Если 		ГодКраткий = "83" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1983";		
    		ИначеЕсли   ГодКраткий = "84" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1984";
    		ИначеЕсли   ГодКраткий = "85" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1985";	
    		ИначеЕсли   ГодКраткий = "86" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1986";	
    		ИначеЕсли   ГодКраткий = "87" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1987";	
    		ИначеЕсли   ГодКраткий = "88" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1988";	
    		ИначеЕсли   ГодКраткий = "89" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1989";	
    		ИначеЕсли   ГодКраткий = "90" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1990";	
    		ИначеЕсли   ГодКраткий = "91" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1991";	
    		ИначеЕсли   ГодКраткий = "92" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1992";	
    		ИначеЕсли   ГодКраткий = "93" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1993";	
    		ИначеЕсли   ГодКраткий = "94" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1994";	
    		ИначеЕсли   ГодКраткий = "95" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1995";	
    		ИначеЕсли   ГодКраткий = "96" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1996";	
    		ИначеЕсли   ГодКраткий = "97" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1997";	
    		ИначеЕсли   ГодКраткий = "98" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1998";	
    		ИначеЕсли   ГодКраткий = "99" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1999";	
    		ИначеЕсли   ГодКраткий = "00" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2000";	
    		ИначеЕсли   ГодКраткий = "01" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2001";	
    		ИначеЕсли   ГодКраткий = "02" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2002";	
    		ИначеЕсли   ГодКраткий = "03" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2003";	
    		ИначеЕсли   ГодКраткий = "04" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2004";	
    		ИначеЕсли   ГодКраткий = "05" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2005";	
    		ИначеЕсли   ГодКраткий = "06" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2006";	
    		ИначеЕсли   ГодКраткий = "07" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2007";	
    		ИначеЕсли   ГодКраткий = "08" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2008";	
    		ИначеЕсли   ГодКраткий = "09" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2009";	
    		ИначеЕсли   ГодКраткий = "10" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2010";	
    		ИначеЕсли   ГодКраткий = "11" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2011";					
    		КонецЕсли;
    
    ДатаЗначение = Дата(Сред(ДатаНовая,7,4),Сред(ДатаНовая,4,2),Сред(ДатаНовая,1,2));	
    Возврат ДатаЗначение;	
    КонецЕсли;
    КонецФункции

    Прихожу сегодня с утра и вижу вот такой код коллеги. Надо теперь психологически восстанавливаться.

    i-ale, 22 Марта 2012

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

    +997

    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
    Can you think of an algorithm that performs the below:
    “The Big Brown Fox”    	     => “Fox Brown Big The”
    “How are you?”                 => “you? are How”
    
    std::string reverse_words( const std::string& str )
    {
      std::string result;
      result.reserve( str.length() );
      
      size_t word_begin = 0;
      while( word_begin < str.length() )
      {
        const size_t pos = str.find_first_of( ' ', word_begin );
        pos = (pos != string::npos) ? pos : str.length();
        std::string word = str.substr( word_begin, pos-word_begin );
        word_begin = pos + 1;
    
        if (result.length() > 0)
        {
          word.append( 1, ' ');
        }
        result.insert( 0, word );
      }
      return result;
    }

    высрал буквально 5 минут назад
    inplace версию чего-то влом писать для домашнего теста, да и кода в ней будет больше, но работать она должна быстрее за счет отсутствия аллокаций
    но писать надо, так как отправлять такое как-то стыдно

    pushkoff, 17 Декабря 2011

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

    +997

    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
    class fileOutBuf : public streambuf
    {
    public:
        // ...
        typedef char        char_type;
        typedef int         int_type;
        typedef int         streamsize;
        // ...
        int printf( const char * fpFormat, ... );
    
        inline int vprintf( const char * fpFormat, va_list fvaList )
        {
            if ( NULL != dpFileDescriptor )
            {
                if ( true == sdVerboseFlag  && false == dSkipVerboseOutput)
                    vfprintf( dpVerboseFileDescriptor, fpFormat, fvaList );
    
                return vfprintf( dpFileDescriptor, fpFormat, fvaList );
            }
            else
            {
                if ( NULL != dpOutputFuncPtr )
                    return (*dpOutputFuncPtr)( fpFormat, fvaList );
            }
            return 0;
        }
        // ....
        virtual int_type overflow( int_type c = EOF );
        virtual streamsize xsputn( const char_type *s, streamsize n );
        // ....
    };
    
    int fileOutBuf::printf( const char * fpFormat, ... )
    {
        va_list lvaList;
        int lRet;
    
        va_start( lvaList, fpFormat );
    
        if ( NULL != dpFileDescriptor )
        {
            if ( true == sdVerboseFlag  && false == dSkipVerboseOutput)
                vfprintf( dpVerboseFileDescriptor, fpFormat, lvaList );
    
            lRet = vfprintf( dpFileDescriptor, fpFormat, lvaList );
        }
        else
        {
            if ( NULL != dpOutputFuncPtr )
                lRet = (*dpOutputFuncPtr)( fpFormat, lvaList );
        }
    
        va_end( lvaList );
    
        return lRet;
    }
    
    fileOutBuf::int_type fileOutBuf::overflow( int_type c )
    {
        if ( NULL != dpFileDescriptor )
        {
            if ( true == sdVerboseFlag  && false == dSkipVerboseOutput)
                fputc( c, dpVerboseFileDescriptor );
    
            return fputc( c, dpFileDescriptor );
        }
        else
            return fileOutBuf::printf( "%c", c );
    }
    
    fileOutBuf::streamsize fileOutBuf::xsputn( const fileOutBuf::char_type *s, fileOutBuf::streamsize n )
    {
        if ( NULL != dpFileDescriptor )
        {
            if ( true == sdVerboseFlag  && false == dSkipVerboseOutput)
                fwrite( s, sizeof( char_type ), n, dpVerboseFileDescriptor );
    
            return fwrite( s, sizeof( char_type ), n, dpFileDescriptor );
        }
        else
            return fileOutBuf::printf( "%*s", n, s );
    }

    нетривиальная капипаста или делаем из мухи слона.

    ЗЫ после удаления всей капипасты, от класа в целом осталось что-то около 50 строк.

    Dummy00001, 06 Декабря 2011

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

    +170

    1. 1
    2. 2
    3. 3
    private function _________close ($param_name)
    
     private function __________open ($param_name)

    "это для того чтобы видно было в коде"

    Lure Of Chaos, 15 Ноября 2011

    Комментарии (51)
  11. ActionScript / Говнокод #8429

    −106

    1. 1
    2. 2
    if (_start > _end) _start = _end;
       if (_end < _start) _end = _start;

    c пламенным приветом = )

    Lure Of Chaos, 05 Ноября 2011

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