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

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

    +1004

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    init1(); 
    !isFailed1() && init2(); 
    !isFailed1() && !isFailed2() && init3(); 
    !isFailed1() && !isFailed2() && !isFailed3() && work();
    !isFailed3() && cleunUp3(); 
    !isFailed2() && cleunUp2(); 
    !isFailed1() && cleunUp1();

    И этот думает, что RAII не нужен.

    AnimeGovno-_-, 22 Октября 2011

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

    +1003

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class fileOutStream : public ostream
    {
    public:
        /* ... */
        virtual inline int printf( const char * fpFormat, ... )
        {
            /* ... */
        }
        /* ... */
    }

    virtual inline метод.

    Dummy00001, 08 Февраля 2012

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

    +1003

    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
    unsigned int mapGray(double color/*0.0 --- 255.0*/)
    {
        int base = static_cast<unsigned char>(color);
        if(base>=255)
            return 0xFFFFFFFF;
        else if(base<0)
            return 0x000000;
        double frac = color-base;
        unsigned char r = 0;
        unsigned char g = 0;
        unsigned char b = 0;
        if(frac<1.0/14.0) {
        } else if(frac<3.0/14.0) {
            r=1;
        } else if(frac<5.0/14.0) {
            b=1;
        } else if(frac<7.0/14.0) {
            g=1;
        } else if(frac<9.0/14.0) {
            b=1;
            r=1;
        } else if(frac<11.0/14.0) {
            g=1;
            b=1;
        } else if(frac<13.0/14.0) {
            r=1;
            g=1;
        } else {
            r=1;
            g=1;
            b=1;
        }
        return (base+r)<<16 | (base+g)<<8 | (base+b) | 0xFF000000;
    }

    Чуть больше оттенков серого.

    Xom94ok, 19 Декабря 2011

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

    +1003

    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
    namespace ExtensionMethods
    {
        public static class MyExtensions
        {
            public static int WordCount(this String str)
            {
                return str.Split(new char[] { ' ', '.', '?' }, 
                                 StringSplitOptions.RemoveEmptyEntries).Length;
            }
        }   
    }
    ....
    string s = "Hello Extension Methods";
    int i = s.WordCount();

    http://msdn.microsoft.com/en-us/library/bb383977.aspx

    In your code you invoke the extension method with instance method syntax. However, the intermediate language (IL) generated by the compiler translates your code into a call on the static method. Therefore, the principle of encapsulation is not really being violated. In fact, extension methods cannot access private variables in the type they are extending.

    Синтаксический сахар. Бессмысленный и беспощадный.
    Ждк, когда шарпоблядки уже начнут дохнуть от диабета.

    3.14159265, 26 Ноября 2011

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

    +1003

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /c/Qt/4.7.4/src/plugins/bearer/symbian/symbianengine.cpp:1336..1344
    
    // Waits for 2..6 seconds.
    void SymbianEngine::updateConfigurationsAfterRandomTime()
    {
        int iTimeToWait = qMax(1000, (qAbs(qrand()) % 68) * 100);
    #ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
        qDebug("QNCM waiting random time: %d ms", iTimeToWait);
    #endif
        QTimer::singleShot(iTimeToWait, this, SLOT(delayedConfigurationUpdate()));
    }

    68 будет в самый раз, да.

    overloop, 11 Ноября 2011

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

    +1003

    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
    #include <iostream>
    #include <math.h>
    using namespace std;
    long long h[104680];
    int main(){
        int wr,a2,a3,a5,a7,a11,a13,a17,a19,a23,a29,a31,a37,i,t;
        long long p,u,f1,c1,e,k,n,g,c,f,b2,b3,b5,b7,b11,b13,b17,b19,b23,b29,b31,b37,j;
    
        for (i=1;i<=104000;i++)h[i]=1000000000000000011;
        for (a2=0;a2<=8;a2++){
            b2=powf(2,a2);
            for (a3=0;a3<=4;a3++){
                if (a2<a3)break;
                b3=b2*powf(3,a3);
                for (a5=0;a5<=3;a5++){
                    if (a2<a5)break;
                    b5=b3*powf(5,a5);
                    for (a7=0;a7<=2;a7++){
                        if (a2<a7)break;
                        b7=b5*powf(7,a7);
                        for (a11=0;a11<=1;a11++){
                            if (a2<a11)break;
                            b11=b7*powf(11,a11);
                            for (a13=0;a13<=1;a13++){
                                if (a2<a13)break;
                                b13=b11*powf(13,a13);
                                for (a17=0;a17<=1;a17++){
                                    if (a2<a17)break;
                                    b17=b13*powf(17,a17);
                                    for (a19=0;a19<=1;a19++){
                                        if (a2<a19)break;
                                        b19=b17*powf(19,a19);
                                        for (a23=0;a23<=1;a23++){
                                            if (a2<a23)break;
                                            b23=b19*powf(23,a23);
                                            for (a29=0;a29<=1;a29++){
                                                if (a2<a29)break;
                                                b29=b23*powf(29,a29);
                                                for (a31=0;a31<=1;a31++){
                                                    if (a2<a31)break;
                                                    b31=b29*powf(31,a31);
                                                    for (a37=0;a37<=1;a37++){
                                                        k=b31*powf(37,a37);
    
                                                        g=(a2+1)*(a3+1)*(a5+1)*(a7+1)*(a11+1)*(a13+1);
                                                        g=g*(a17+1)*(a19+1)*(a23+1)*(a29+1)*(a31+1)*(a37+1);
                                                        if (g<=103680){
                                                            if ((0<k)&&(k<h[g])){
                                                                h[g]=k;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        cin >> t;
        for (i=1;i<=t;i++){
            cin >> n;
            f1=0;c1=0;
            for (j=1;j<=103680;j++){
                if (h[j]<=n){
                    f1=h[j];
                    c1=j;
                }
            }
            cout << f1 << " " << c1 << endl;
        }
        cin >> i;
        return 0;
    }

    отсюда: http://acm.timus.ru/forum/thread.aspx?id=26703&upd=634473973997426 601
    типа решение одной олимпиадной задачки на теорию чисел
    типа неверное (что неудивительно)
    по ссылке можно увидеть другое не менее монструозное решение, которое проходит чуть больше тестов...

    rip, 21 Октября 2011

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

    +1003

    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
    // укорочено для краткости.
    void ATraceClass::LogFunction(const char *format, va_list ap)
    {
      /* ... declarations ... */
    
      for (p=format; (*p)&&(!isTruncated); p++)
      {
        if ( * p == '%' )
          switch( * ++p )
          {
            case 'c':
            { /* ... */ }
            break;
    
            case 'd':
            case 'i':
            { /* ... */ }
            break;
    
            case 'l':   // это %ld
            { /* ... */ }
            break;
    
            case 'L':    // это %Ld
            { /* ... */ }
            break;
      
            case 'f':   // a это %g
            { /* ... */ }
            break;
    
            case 'F':  // a это %Lg
            { /* ... */ }
            break;
    
            case 's': 
            { /* ... */ }
            break;
    
            default: // this is an ERROR case, but we will not perform coding at this point ... maybe later
              break;
          }
          else {
            /* ... */
          }
      }
    }

    наболело. одно чудило (с большой букмы Му) наговнокодило это дело под эгидой "stdio это С, мы в С++ можем круче!!!" ну с тех пор и переизобретают велосипед - с квадратными колёсами. даже %% не догадались сделать.

    уже как года два давлю вот это Г, но наши немецкие умельцы копи-пастят это в новые модуля быстрее чем я успеваю это удалять.

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

    Dummy00001, 31 Мая 2010

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

    +1002

    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
    //pugiXML.cpp:
    template <bool _1, bool _2, bool _3, bool _4> struct opt4_to_type
    	{
    		static const bool o1;
    		static const bool o2;
    		static const bool o3;
    		static const bool o4;
    	};
    
    	template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o1 = _1;
    	template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o2 = _2;
    	template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o3 = _3;
    	template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o4 = _4;
    //...
    case 0:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 0, 0>());
    		case 1:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 0, 1>());
    		case 2:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 1, 0>());
    		case 3:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 1, 1>());
    		case 4:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 1, 0, 0>());
    		case 5:  return strconv_attribute_t(s, end_quote, opt4_to_type<0, 1, 0, 1>());
    //...
    		case 14: return strconv_attribute_t(s, end_quote, opt4_to_type<1, 1, 1, 0>());
    		case 15: return strconv_attribute_t(s, end_quote, opt4_to_type<1, 1, 1, 1>());
    //...
    inline xml_parse_result make_parse_result(xml_parse_status status, unsigned int offset, unsigned int line)
    	{
    		xml_parse_result result = {status, offset, line};
    		return result;
    	}
    
    //pugixpath.cpp:
    block = static_cast<memory_block*>(operator new(size + sizeof(memory_block) - xpath_memory_block_size));

    PugiXML

    Говногость, 16 Апреля 2012

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

    +1002

    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
    void TExternalIOBuffer::swap(TExternalIOBuffer& Buffer)
    {
    	ASSERT(typeid(Buffer)==typeid(TExternalIOBuffer));
    	const TExternalIOBuffer CurrentBuffer=*this;
    	const TExternalIOBuffer OtherBuffer=Buffer;
    	Buffer.~TExternalIOBuffer();
    	::new((void*)&Buffer) TExternalIOBuffer(CurrentBuffer);
    	this->~TExternalIOBuffer();
    	::new((void*)this) TExternalIOBuffer(OtherBuffer);
    };
    
    const TExternalIOBuffer& TExternalIOBuffer::operator=(const TAbstractIOBuffer& Buffer)
    {
    	this->~TExternalIOBuffer();
    	::new((void*)this)TExternalIOBuffer(Buffer);
    	return *this;
    };

    Большой проект, попало в релиз.

    Говногость, 16 Апреля 2012

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

    +1002

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    template<class _CharType>
    bool check_arith(const _CharType* str)
    {
       for(; *str ; ++str)
          for(unsigned long long j = 0x6165696F7579ull; j; j >>= 8)
            if(((j & 0xFF) | 0x20) == (*str | 0x20))
               return true;
       return false; 
    }

    Функция, которая проверяет, есть ли в слове гласные буквы латинского алфавита с учетом регистра.

    gooseim, 15 Марта 2012

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