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

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

    +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
    m_hSemaphore		= CreateSemaphore( NULL, 1, 1, NULL );
    ....
    
    void CTestGUIDlg::OnBnClickedButtonStartStream()
    {
    	WaitForSingleObject(m_hSemaphore, INFINITE);
    	if(m_ThreadHandle)
    	{
    		AfxMessageBox("Stop running stream!", MB_ICONEXCLAMATION);
    		return;
    	};
    
    	m_ThreadHandle	= NULL;
    	m_StreamType	= 1;
    	m_ThreadHandle =					(HANDLE)_beginthreadex(NULL,
    										0,
    										streamProcedure,
    										static_cast<LPVOID>( this ),
    										0,
    										NULL);	
    
    	if(!m_ThreadHandle) 
    	{
    		m_StreamType	= 0;
    	}
    	UpdateButtons();
    	ReleaseSemaphore(m_hSemaphore, 1, NULL);
    }

    классика жанра

    Aleskey, 30 Марта 2011

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

    +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
    class SomeClass
    {
    public:
    	__declspec(dllexport) SomeClass(UINT i_Width, UINT i_Height, UINT i_Lines, float i_Result, bool i_bAutoFill = false, и т.д. еще штук 5);
    	__declspec(dllexport) SomeClass::~SomeClass();
    
    	__declspec(dllexport) void setCallbackFunction(void	(*i_pCallbackFunction)(SomeClass* i_pSomeClass)) { m_pCallbackFunction = i_pCallbackFunction; };	
    	__declspec(dllexport) bool isFinished() { return m_bIsFinished; };
    	__declspec(dllexport) void clear() { m_ResultData.clear(); };
    	__declspec(dllexport) bool save(const char* i_sFilename);
    
    	...
    
    private:	
    	bool createThread();
    	void initWork();	
    	void loopWork();
    	void stepWork();
    	void exitWork();
    
    	static UINT WINAPI workProc(LPVOID lpContext);
    
    	inline bool someInlineFunction(UINT i_Index);
    	...
    	
    private:
    	HANDLE				m_ThreadHandle;
    	bool				m_bIsFinished;
    	bool				m_bThreadStopped;
    	bool				m_bThreadClosed;
    	vector<SomeType>	m_a...; 
    	string				m_sFilename;
    	
    	void				(*m_pCallbackFunction)(SomeClass* i_pSomeClass);
    	
    	...
    };

    Это краткий пересказ того, что шло вместе с DLL, только длиннее и с комментариями к каждой строке и доксигеновской докой!

    Aleskey, 30 Марта 2011

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

    +162

    1. 1
    Speed = ini.GetInt("Speed" , Speed /(1 mm_s )) * (-1 mm_s);

    Скорость задается изначально как положительное число, но в ресчетах используется ее отрицательное значение.

    Aleskey, 29 Марта 2011

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

    +166

    1. 1
    2. 2
    $expired = (time() > 1280241436) ? true : false;
    if ($expired) { return; }

    В начале кэш-файлов phpBB3.

    telnet, 29 Марта 2011

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for (i = 0;i<n;i++)
        {
            for (j = 0;j<m;j++)
            {
                if (j=m)
                {
                    j = 0;
                    break;
                }
         }
    }

    Мастер! Без комментариев.

    P.S. Как это ни странно, автор предпочел остаться неизвестным :)

    DimX-6600, 28 Марта 2011

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

    +152

    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
    if ($UsingComponents){
    	// если используем компоненты 2.0 - очищаем буфер 
    	ob_end_clean();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
    } else {
    	// иначе выводим всё, что у нас накопилось
    	ob_end_flush();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
     }

    Не совсем говнокод, но комментарий на строке 8, имхо, забавный...

    wwwguru, 28 Марта 2011

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

    +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
    static void Main(string[] args)
    {
        int count = 4096;
        int w = int.MaxValue / count;
        int h = 10;
        int argb = 0;
        Directory.CreateDirectory("test");
        for (int bj = 0; bj < count; ++bj)
        {
            Console.WriteLine("Processing bitmap #{0} of {1}...\t{2,3}%",
                              bj + 1, count, (int)(100f * ((float)(bj + 1) / (float)count)));
            using (Bitmap bmp = new Bitmap(w, h))
            {
                Console.Write("Done   0%");
                using (Graphics gr = Graphics.FromImage(bmp))
                    for (int x = 0; x < w; ++x, argb++)
                    {
                         gr.DrawLine(new Pen(Color.FromArgb(argb)), x, 0, x, h);
                         Console.Write("\b\b\b\b{0,3}%", (int)(100f * ((float)(x + 1) / (float)w)));
                    }
                    Console.Write("\nSaving bitmap...\n{0}", new string('-', 80));
                    bmp.Save(string.Format("test\\#{0}.bmp", bj + 1), ImageFormat.Bmp);
            }
        }
    }

    Если Вам нечего делать и есть лишние 80 гигов на харде...

    FMB, 24 Марта 2011

    Комментарии (6)
  9. JavaScript / Говнокод #6059

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Math.round = function(number, precision)
    {
    	precision = Math.abs(parseInt(precision)) || 0;
    	var coefficient = Math.pow(10, precision);
    	return Math._round(number*coefficient)/coefficient;
    }

    bugmenot, 22 Марта 2011

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

    +125

    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
    public void BindBanners()
            {
                StringBuilder obj1 = new StringBuilder();
                
                obj1.Append("<div class='contentdiv'>");
                obj1.Append("<div class='showHideDivContent' style='width:275px;'>");
                obj1.Append(" </div>");
                obj1.Append("<img src='"+ Page.ResolveUrl("portals/_default/Skins/Life2Good/Images/tabSlide1.jpg") +"' alt='' usemap='#MaptabSlide1' />");
                obj1.Append("</div>");
             
             ........... 
    
                string[] objArray = new string[10];
                objArray[0] = obj1.ToString();
                objArray[1] = obj2.ToString();
                objArray[2] = obj3.ToString();
                objArray[3] = obj4.ToString();
                objArray[4] = obj5.ToString();
                objArray[5] = obj6.ToString();
                objArray[6] = obj7.ToString();
                objArray[7] = obj8.ToString();
                objArray[8] = obj9.ToString();
                objArray[9] = obj10.ToString();
                objArray[10] = obj11.ToString();
                //objArray[11] = obj12.ToString();
                //objArray[12] = obj13.ToString();
                //objArray[13] = obj14.ToString();
                //objArray[14] = obj15.ToString();
                SetBanners(objArray);
                //Response.Write(LitContentdiv1.Text + LitContentdiv2.Text + LitContentdiv3.Text + LitContentdiv4.Text + LitContentdiv5.Text);
            }
    
    public void SetBanners(string[] objArray)
            {
                OLOLOProj.Modules.ManageHomePageBanners.ManageHomePageBannersController  objBannerController = new OLOLOProj.Modules.ManageHomePageBanners.ManageHomePageBannersController();
                List<OLOLOProj.Modules.ManageHomePageBanners.ManageHomePageBannersInfo> objBannerInfo = objBannerController.GetActiveHomeBanners();
                for (int i = 0; i < objBannerInfo.Count; i++)
                {
                    if (i == 0)
                    {
                        LitContentdiv1.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
                    if (i == 1)
                    {
                        LitContentdiv2.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
    
                    if (i == 2)
                    {
                        LitContentdiv3.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
    
                    if (i == 3)
                    {
                        LitContentdiv4.Text = objArray[objBannerInfo[i].ItemId - 1];
    
                    }
                    if (i == 4)
                    {
                        LitContentdiv5.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
                    if (i == 5)
                    {
                        LitContentdiv6.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
                    if (i == 6)
                    {
                        LitContentdiv7.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
                    if (i == 7)
                    {
                        LitContentdiv8.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
    
                    //Mukesh
                    if (i == 8)
                    {
                        LitContentdiv9.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
    
                    if (i == 9)
                    {
                        LitContentdiv10.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
    
                    if (i == 10)
                    {
                        LitContentdiv11.Text = objArray[objBannerInfo[i].ItemId - 1];
                    }
    
                }
                }

    поддержка одного интернет магазина. мне нужно добавить еще один баннер на сайт, а там такое....

    DJm00n, 21 Марта 2011

    Комментарии (6)
  11. VisualBasic / Говнокод #6051

    −105

    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
    Public LettersB() As Char = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
        Public LettersM() As Char = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
        Public Numbers() As Char = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
    <...>
        Public Function GenLetterB() As String
            GenLetterB = LettersB(rnd.Next(0, LettersB.Length - 1)).ToString
        End Function
        Public Function GenLetterM() As String
            GenLetterM = LettersM(rnd.Next(0, LettersB.Length - 1)).ToString
        End Function
        Public Function GenNumber() As String
            GenNumber = rnd.Next(0, 9).ToString
        End Function
    <...>
    For i = 1 To numLen.Value
    RndGen:     curType = rnd.Next(0, 3)
                Select Case curType
                    Case 0
                        If chkB.Checked = True Then
                            pass += GenLetterB()
                            rnd.Next(0, LettersB.Length - 1)
                        Else
                            GoTo RndGen
    
                        End If
                        
                    Case 1
                        If chkM.Checked = True Then
                            pass += GenLetterM()
                            rnd.Next(0, LettersM.Length - 1)
                        Else
                            GoTo RndGen
                        End If
                    Case 2
                        If chkNum.Checked = True Then
                            pass += GenNumber()
                            rnd.Next(0, LettersM.Length - 1)
                        Else
                            GoTo RndGen
                        End If
    
                    Case Else
                        If chkNum.Checked = True Then
                            pass += GenNumber()
                            rnd.Next(0, LettersM.Length - 1)
                        Else
                            GoTo RndGen
                        End If
                End Select
    
    
    
            Next

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

    RaZeR, 21 Марта 2011

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