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

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

    +1008

    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
    QPainter painter(this);
    int a1;
    int a2;
    int a3;
    int a4;
    //.......
    int a999;
    int a1000;
    
    a1 = 1;
    a2 = 1;
    a3 = 1;
    a4 = 1;
    //.......
    a999 = 1;
    a1000 = 1;
    
    while (a1 != 500)
    {         painter.drawLine(a1, a1, a1, a1); a1 ++; 
    }
    
    while (a2 != 500)
    {         painter.drawLine(a2, a2, a2, a2); a2 ++; 
    }
    while (a3 != 500)
    {         painter.drawLine(a3, a3, a3, a3); a3 ++; 
    }
    while (a4 != 500)
    {         painter.drawLine(a4, a4, a4, a4); a1 ++; 
    }
    //........
    while (a999 != 500)
    {         painter.drawLine(a999, a999, a999, a999); a999 ++; }
    }
    while (a1000 != 500)
    {         painter.drawLine(a1000, a1000, a1000, a1000); a1000 ++; }
    }

    ПРИКИНЬТЕ такое в paintevente!!!!!!! Qt

    VProger, 05 Января 2012

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

    +1007

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #if defined( HPUX_11_31 )
    #define BDYNAMIC_CAST( CLASS, OBJECT )  (( CLASS ) ( OBJECT ))
    #else
    #define BDYNAMIC_CAST( CLASS, OBJECT )  (dynamic_cast< CLASS >(( OBJECT )))
    #endif

    чуть кофе не похлебнулся.

    при более детальном рассмотрении кода из-за которого это сделали, выяснилось что: (А) в проекте нет ни одного места где нужен динамик каст и (Б) половина наших С++ профисианалов не умеют пользоватся конст кастом (который по коду там и был им нужен, вместе со статик кастом).

    Dummy00001, 08 Февраля 2012

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

    +1007

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    template <typename T, typename U>
    auto operator()(T&& t, U&& u) const
    -> decltype(forward<T>(t) + forward<U>(u)) {
        return forward<T>(t) + forward<U>(u);
    }

    ohlol, 17 Октября 2011

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

    +1007

    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
    void Image::CombineNoise(byte combineType, byte noiseType, cCol3D& maxcolor, Image* mask)
    {
    	byte *maskBf=0;
    	if(mask)
    	{
    		uint mask_pixels=mask->Width*mask->Height;
    		maskBf=(byte*)malloc(mask_pixels);
    		if(mask->Format!=ImageFormat_Luminance)
    		for(uint i=0, ic=0; i<mask_pixels; i++, ic+=mask->Components)
    			maskBf[i]=min((byte)255)((byte)(mask->Data[ic]*0.3f+mask->Data[ic+1]*0.59f+mask->Data[ic+2]*0.11f));
    		else memcpy(maskBf, mask->Data, mask_pixels);
    		if(mask->Width!=Width || mask->Height!=Height)
    		{
    			byte* maskBf2=ScaleImage(Width, Height, maskBf, mask->Width, mask->Height, 1);
    			free(maskBf);
    			maskBf=maskBf2;
    		}
    	}
    
    	uint pixels=Width*Height;
    	uint size=pixels*Components;
    	if(Data && Width>0 && Height>0)
    	{
    		if(noiseType==0 && Format!=ImageFormat_Luminance)	//Цветной шум
    		{
    			switch(combineType)
    			{
    			case 0:	//Модуляция
    				if(mask)
    				for(uint i=0, ic=0; ic<size; i++, ic+=Components)
    				{
    					if(maskBf[i]<=127) continue;
    					Data[ic]=min<byte>(Data[ic]*(rand()%maxcolor.r)/255)(255);
    					if(Components<2) continue;
    					Data[ic+1]=min<byte>(Data[ic+1]*(rand()%maxcolor.g)/255)(255);
    					if(Components<3) continue;
    					Data[ic+2]=min<byte>(Data[ic+2]*(rand()%maxcolor.b)/255)(255);
    				}
    				else
    				for(uint ic=0; ic<size; ic+=Components)
    				{
    					Data[ic]=min<byte>(Data[ic]*(rand()%maxcolor.r)/255)(255);
    					if(Components<2) continue;
    					Data[ic+1]=min<byte>(Data[ic+1]*(rand()%maxcolor.g)/255)(255);
    					if(Components<3) continue;
    					Data[ic+2]=min<byte>(Data[ic+2]*(rand()%maxcolor.b)/255)(255);
    				}
    				break;
    
    			case 1:	//Сложение
    				if(mask)
    				for(uint i=0, ic=0; ic<size; i++, ic+=Components)
    				{
    					float factor=maskBf[i]/255.0f;
    					Data[ic]=(byte)min(Data[ic]+(rand()%maxcolor.r*factor))(255);
    					if(Components<2) continue;
    					Data[ic+1]=(byte)min(Data[ic+1]+(rand()%maxcolor.g*factor))(255);
    					if(Components<3) continue;
    					Data[ic+2]=(byte)min(Data[ic+2]+(rand()%maxcolor.b*factor))(255);
    				}
    				else
    				for(uint ic=0; ic<size; ic+=Components)
    				{
    					Data[ic]=min<byte>(Data[ic]+(maxcolor.r>0? rand()%maxcolor.r: 0))(255);
    					Data[ic+1]=min<byte>(Data[ic+1]+(maxcolor.g>0? rand()%maxcolor.g: 0))(255);
    					Data[ic+2]=min<byte>(Data[ic+2]+(maxcolor.b>0? rand()%maxcolor.b: 0))(255);
    				}
    				break;
    
    			case 2:	//Вычитание
    				if(mask)
    				for(uint i=0, ic=0; ic<size; i++, ic+=Components)
    				{
    					float factor=maskBf[i]/255.0f;
    					Data[ic]=(byte)max(Data[ic]-(rand()%maxcolor.r*factor))(0);
    					if(Components<2) continue;
    					Data[ic+1]=(byte)max(Data[i+1]-(rand()%maxcolor.g*factor))(0);
    					if(Components<3) continue;
    					Data[ic+2]=(byte)max(Data[i+2]-(rand()%maxcolor.b*factor))(0);
    				}
    				else
    				for(uint ic=0; ic<size; ic+=Components)
    				{
    					Data[ic]=max<byte>(Data[ic]-rand()%maxcolor.r)(0);
    					if(Components<2) continue;
    					Data[ic+1]=max<byte>(Data[ic+1]-rand()%maxcolor.g)(0);
    					if(Components<3) continue;
    					Data[ic+2]=max<byte>(Data[ic+2]-rand()%maxcolor.b)(0);
    				}
    				break;
    				
    			case 3:	//Средний цвет
    //На говнокод не лезет больше. Такая гигантская функция.

    Одна из функций для генерации изображений. Решил не рефакторить, потому что всё равно всё буду переделывать.

    gammaker, 17 Октября 2011

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

    +1006.4

    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
    #include <stdlib.h>
    #include <conio.h>
    #include <iostream.h>
    
    int main()
    {
            int i,ass,cmpr,sort=2;
            int mass[20];
            while((sort==1)&&(sort==2)&&(sort==3))
            {
                    cout<<"введите вид сортировки: 1 — шейрная, 2- выбор, 3 — быстрая"<<;
                    cin>>sort;
                    for(i=0;in;i++)
                    {
                            cout<<"Введите число в массив"<<;
                            cin>>mass[i];
                    }
                    if (sort==1)
                    {
                            //пограмма шейкерной сортировки
                    }
                    else if (sort==2)
                    {
                            //программа сортировки прямым выбором
                    }
                    else if (sort==3)
                    {
                            // быстрая
                    }
                    for (i=0;i<n;i++)
                            cout<<mass[i]<<;
                    cout<<"\n";
                    cout<<ass<<"\n";
                    cout<<cmpr<<"\n";
            }
            return 0;
    }

    Преподаватель по Си это привел как пример лабораторной работы. Замечу, что он утверждал что это Си.
    Из особо жестоких особенностей - есть даже логическая ошибка.

    guest, 14 Марта 2009

    Комментарии (16)
  7. Си / Говнокод #18580

    +1006

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(cond) {
          #define INIT_COUNT 1
    } else {
          #define INIT_COUNT 2
    }

    Тот, кто показал мне этот кусочек кода, был очень удивлем тем , что все время выполняется только ветка else.

    refactor, 05 Августа 2015

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

    +1006

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(mHyperlinks.size()>0)
    	{
    		for(size_t i=0;i<mHyperlinks.size();i++)
    		{
    			//some code
    		}
    	}

    lifemaker, 01 Марта 2012

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

    +1006

    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
    class Worker
    {
        private:
            char name[15];
            double salary;
            ...
            
        public:
        
            Worker(char* n, double s)
            {
                ...
                
                if (s < 0)
                    salary = verSal(s);
                else
                    salary = s;
                
                ...
            }
        
            char* getName()
            {
                char* t = new char[15];
                strcpy(t, name);
                return t;
            }
            
        private:
            double verSal(double s)
            {
                do
                {
                    cout << "Ошибка при вводе зарплаты. Введите зарплату: ";
                    cin >> s;
                }
                while (s < 0);
                return s;
            }
    }

    Вот ещё один пример из конспекта (это уже от другого преподавателя). Он, заявил, что в getName() о t "позаботится сборщик мусора". Просто он Java тоже читает...

    vovams, 01 Февраля 2012

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

    +1006

    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
    int main()
    {
        // инициализация графики
        ...
        
        while (!kbhit())
        {
            int start = rand();
            srand(start);
            
            // рисуем фейерверк
            for (int i = 0; i < 100; i++)
            {
                int x = rand();
                int y = rand();
                int color = rand();
                
                putPixel(x, y, color);
            }
            
            sleep(100);
            
            // стираем
            srand(start);
            
            for (int i = 0; i < 100; i++)
            {
                int x = rand();
                int y = rand();
                rand();
                
                if (getPixelColor(x, y) != BLACK)
                    putPixel(x, y, BLACK);
            }
        }
        
        return 0;
    }

    Вот такой пример использования графической библиотеки нам давали в институте. (Набирал по памяти т.к. я решил это с доски не переписывать.)

    vovams, 31 Января 2012

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

    +1006

    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
    96. 96
    97. 97
    98. 98
    99. 99
    const unsigned BAD_VALUE = (unsigned) -1;
    typedef pair<string, unsigned> RomeDecPair;
    typedef map<string, unsigned> Table;
    Table g_table;
     
    void InitTables()
    {
      g_table["I"] = 1;
      g_table["II"] = 2;
      g_table["III"] = 3;
      g_table["IV"] = 4;
      g_table["V"] = 5;
      g_table["VI"] = 6;
      g_table["VII"] = 7;
      g_table["VIII"] = 8;
      g_table["IX"] = 9;
      g_table["X"] = 10;
      g_table["XX"] = 20;
      g_table["XXX"] = 30;
      g_table["XL"] = 40;
      g_table["L"] = 50;
      g_table["XC"] = 90;
      g_table["C"] = 100;
      g_table["CC"] = 200;
      g_table["CCC"] = 300;
      g_table["CD"] = 400;
      g_table["D"] = 500;
      g_table["CM"] = 900;
      g_table["M"] = 1000;
      g_table["MM"] = 2000;
      g_table["MMM"] = 3000;
    }
    .....
    int main()
    {
      InitTables();
     
      vector<RomeDecPair> tests;
     
      tests.push_back(make_pair("I", 1));
      tests.push_back(make_pair("II", 2));
      tests.push_back(make_pair("III", 3));
      tests.push_back(make_pair("IV", 4));
      tests.push_back(make_pair("V", 5));
      tests.push_back(make_pair("VI", 6));
      tests.push_back(make_pair("VII", 7));
      tests.push_back(make_pair("VIII", 8));
      tests.push_back(make_pair("IX", 9));
      tests.push_back(make_pair("X", 10));
      tests.push_back(make_pair("XI", 11));
      tests.push_back(make_pair("XII", 12));
      tests.push_back(make_pair("XIII", 13));
      tests.push_back(make_pair("XIV", 14));
      tests.push_back(make_pair("XV", 15));
      tests.push_back(make_pair("XVI", 16));
      tests.push_back(make_pair("XVII", 17));
      tests.push_back(make_pair("XVIII", 18));
      tests.push_back(make_pair("XIX", 19));
      tests.push_back(make_pair("XX", 20));
      tests.push_back(make_pair("XXI", 21));
      tests.push_back(make_pair("XL", 40));
      tests.push_back(make_pair("XLII", 42));
      tests.push_back(make_pair("LIX", 59));
      tests.push_back(make_pair("LXXVII", 77));
      tests.push_back(make_pair("XC", 90));
      tests.push_back(make_pair("CX", 110));
      tests.push_back(make_pair("CDXCIX", 499));
      tests.push_back(make_pair("DLXXXIII", 583));
      tests.push_back(make_pair("DCCCLXXXVIII", 888));
      tests.push_back(make_pair("MDCLXVIII", 1668));
      tests.push_back(make_pair("MCMLXXXIX", 1989));
      tests.push_back(make_pair("MMMCMXCIX", 3999));
     
      tests.push_back(make_pair("", BAD_VALUE));
      tests.push_back(make_pair("IIIV", BAD_VALUE));
      tests.push_back(make_pair("IIV", BAD_VALUE));
      tests.push_back(make_pair("IIII", BAD_VALUE));
      tests.push_back(make_pair("IIX", BAD_VALUE));
      tests.push_back(make_pair("XIIII", BAD_VALUE));
      tests.push_back(make_pair("XIIIIX", BAD_VALUE));
      tests.push_back(make_pair("XIIIIX", BAD_VALUE));
      tests.push_back(make_pair("XXXX", BAD_VALUE));
      tests.push_back(make_pair("LL", BAD_VALUE));
      tests.push_back(make_pair("CLC", BAD_VALUE));
      tests.push_back(make_pair("CLL", BAD_VALUE));
      tests.push_back(make_pair("DLD", BAD_VALUE));
      tests.push_back(make_pair("LDD", BAD_VALUE));
      tests.push_back(make_pair("LLI", BAD_VALUE));
      tests.push_back(make_pair("MMMCMXCX", BAD_VALUE));
      tests.push_back(make_pair("AXX", BAD_VALUE));
      tests.push_back(make_pair("LXA", BAD_VALUE));
     
      for (vector<RomeDecPair>::const_iterator it = tests.begin(), end = tests.end(); it != end; ++it)
      {
        CheckConversion(*it);
      }
     
      return 0;
    }

    bugaga, 10 Декабря 2011

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