1. C# / Говнокод #9355

    +971

    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
    using System;
    
    public class Man
    {
        static int num;
        public Man parent = new Man();    //У каждого человека есть родители, ведь так?
    
        static Man()
        {
            num = 0;
        }
    
        public Man()
        {
            num++;
        }
    }

    Компилятор C# против перенаселения, вовремя выдаёт StackOverflowException, пока расплодиться не успели..

    vistefan, 08 Февраля 2012

    Комментарии (29)
  2. C# / Говнокод #9354

    +115

    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
    switch (pList)
                    {
                        #region Формы контейнера        |
                        case TObjects.ContainerForm         :
                            frmList                                         =   new TfrmContainerForm();
                            pnlMain                                         =   ((TfrmContainerForm)frmList).pnlMain;
                            Result                                          =   ((TfrmContainerForm)frmList).grList;
                            break;
                        #endregion
                        #region Тип контейнера          |
                        case TObjects.ContainerType         :
                            frmList                                         =   new TfrmContainerType();
                            pnlMain                                         =   ((TfrmContainerType)frmList).pnlMain;
                            Result                                          =   ((TfrmContainerType)frmList).grList;
                            break;
                        #endregion
                        #region Объект НВАЭС            |
                        case TObjects.Object                :
                            frmList                                         =   new TfrmObjects();
                            pnlMain                                         =   ((TfrmObjects)frmList).pnlMain;
                            Result                                          =   ((TfrmObjects)frmList).grList;
                            break;
                        #endregion
                        #region Исполнитель работ       |
                        case TObjects.DepSource             :
                            frmList                                         =   new TfrmDepSource();
                            pnlMain                                         =   ((TfrmDepSource)frmList).pnlMain;
                            Result                                          =   ((TfrmDepSource)frmList).grList;
                            break;
                        #endregion
                        #region Установка переработки   |
                        case TObjects.TreatSet              :
                            frmList                                         =   new TfrmTreatSet();
                            pnlMain                                         =   ((TfrmTreatSet)frmList).pnlMain;
                            Result                                          =   ((TfrmTreatSet)frmList).grList;
                            break;
                        #endregion
                        #region Контейнер               |
                        case TObjects.Container             :
                            frmList                                         =   new TfrmContainer();
                            pnlMain                                         =   ((TfrmContainer)frmList).pnlMain;
                            Result                                          =   ((TfrmContainer)frmList).grList;
                            break;
                        #endregion
                        #region Хранилище               |
                        case TObjects.Storage               :
                            frmList                                         =   new TfrmStorage();
                            pnlMain                                         =   ((TfrmStorage)frmList).pnlMain;
                            Result                                          =   ((TfrmStorage)frmList).grList;
                            break;
                        #endregion
    ...

    А тут ок. 400 таких вот строк.

    gcoder, 08 Февраля 2012

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

    +119

    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  static  string      LoadGridDT          (TObjects pList, out DataTable Dt, params object[] pArgs)
    ...              
                    switch (pList)
                    {
                        case TObjects.Radio                 :
                            if (pArgs.Length == 1 && pArgs[0] is int)
                                vLoadResult = Protocol.Radionuclide.Load((int)pArgs[0], out Dt);
                            else if (pArgs.Length > 1 && pArgs[0] is int && pArgs[1] is bool)
                                vLoadResult = Part2.Radionuclide.Load((int)pArgs[0], out Dt);
                            else vLoadResult = Radionuclide.Load(out Dt);
                            break;
                        case TObjects.Protocol              :
                            // [0](int): Тип протокола; [1](int): Очередь; [2](bool): Активность; [3](int): Объект
                    if (pArgs.Length > 3 && pArgs[0] is int && pArgs[1] is int && pArgs[2] is bool && pArgs[3] is int)
                        if (pArgs.Length > 4 && pArgs[4] is int)
                            vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt, (int)pArgs[4]);
                        else
                        {
                            if (pArgs.Length > 4 && pArgs[4] is bool && (bool)pArgs[4] == true) // 5-й аргумент для загрузки детализированного списка протоколов с учетом объекта отбора
                                vLoadResult = Protocol.Load((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt);
                            else // недетализированный список протоколов с учетом объекта отбора
                                vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (int)pArgs[3], (bool)pArgs[2], out Dt);
                        }
                    else
                    // [0](List<int>): Типы протокола; [1](int): Очередь; [2](int): Id место отбора; [3](bool): Активность
                    if (pArgs.Length > 3 && pArgs[0] is List<int> && pArgs[1] is int && pArgs[2] is int && pArgs[3] is bool)
                        if (pArgs.Length > 4 && pArgs[4] is int)
                            vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (int)pArgs[2], (bool)pArgs[3], out Dt, (int)pArgs[4]);
                        else
                            vLoadResult = Protocol.Load((List<int>)pArgs[0], (int)pArgs[1], (int)pArgs[2], (bool)pArgs[3], out Dt);
                    else
                    // [0](List<int>): Типы протокола; [1](int): Очередь; [2](bool): Активность
                    if (pArgs.Length > 2 && pArgs[0] is List<int> && pArgs[1] is int && pArgs[2] is bool)
                        if (pArgs.Length > 3 && pArgs[3] is int)
                            vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt, (int)pArgs[3]);
                        else
                            vLoadResult = Protocol.LoadList((List<int>)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt);
                    else
                    // [0](int): Тип протокола; [1](int): Очередь; [2](bool): Активность;
                    if (pArgs.Length > 2 && pArgs[0] is int && pArgs[1] is int && pArgs[2] is bool)
                        if (pArgs.Length > 4 && pArgs[3] is bool && pArgs[4] is int)
                            vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt, (int)pArgs[4]);
                        else
                            vLoadResult = Protocol.Load((int)pArgs[0], (int)pArgs[1], (bool)pArgs[2], out Dt);
                    else
                    // [0](int): Тип протокола; [1](int): Очередь
                    if (pArgs.Length > 1 && pArgs[0] is int && pArgs[1] is int)
                        if (pArgs.Length > 2 && pArgs[2] is int)
                            vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], out Dt, (int)pArgs[2]);
                        else
                            vLoadResult = Protocol.LoadList((int)pArgs[0], (int)pArgs[1], out Dt);
                    else
    ...

    Метод 500+ вот такого рода строк...

    gcoder, 08 Февраля 2012

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

    +123

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    pOutGrid    =   pTab                                                != null     ? 
                                pTab.SelectedTab                                    != null     ? 
                                pTab.SelectedTab.Tag                                is GridEX   ?
                                (GridEX)pTab.SelectedTab.Tag                                    :
    
                                pTab.SelectedTab.Tag                                is TObject  ?
                                ((TObject)pTab.SelectedTab.Tag).ViewForm            != null     ?
                                ((TObject)pTab.SelectedTab.Tag).ViewForm.GridEX     != null     ?
                                ((TObject)pTab.SelectedTab.Tag).ViewForm.GridEX                 : pGrid : pGrid : pGrid
                                                                                                : pGrid : pGrid;

    gcoder, 08 Февраля 2012

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

    +117

    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
    /// <summary>
    /// Преобразование элемента перечисления в строку
    /// </summary>			
    private String GetEnumElementString(Object e, Type t)
    {
    	string result = string.Empty;
    
    	if (t == typeof(AccessMode))
    	{
    		if ((AccessMode)e == AccessMode.CacheOnly)
    		{
    			result = LocalStrings.AccessMode_CacheOnly_RU;
    		}
    		else if ((AccessMode)e == AccessMode.ServerOnly)
    		{
    			result = LocalStrings.AccessMode_ServerOnly_RU;
    		}
    		else if ((AccessMode)e == AccessMode.ServerAndCache)
    		{
    			result = LocalStrings.AccessMode_ServerAndCache_RU;
    		}
    		else
    		{
    			throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
    		}
    	}
    	else if (t == typeof(MapImageType))
    	{
    		if ((MapImageType)e == MapImageType.Map)
    		{
    			result = LocalStrings.MapImageType_Map_RU;
    		}
    		else if ((MapImageType)e == MapImageType.Satellite)
    		{
    			result = LocalStrings.MapImageType_Sattelite_RU;
    		}
    		else if ((MapImageType)e == MapImageType.Hybrid)
    		{
    			result = LocalStrings.MapImageType_Hybrid_RU;
    		}
    		else
    		{
    			throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
    		}
    	}
    	else
    	{
    		throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
    	}
    
    	return result;
    }

    Конвертация Enum в строку. Аффтар уникален, и это лишь одно из проявлений его уникальности.
    Swith - для трусов, статические тулзы и Extension - для дураков. У нас для этого будут методы классов, между прочим класс, в который входит этот метод - UserControl.
    Кстати, поля LocalStrings - не константы, а статика:

    public static string AccessMode_CacheOnly_RU = "Только кэш"; ....

    ICELedyanoj, 08 Февраля 2012

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

    +126

    1. 1
    if ((e.Row.Cells[0].Text.Trim() != "") && (e.Row.Cells[0].Text.Trim().ToUpper() != "NULL".Trim().ToUpper()))

    Indian style
    Проверка ячейки таблицы на null

    Nataly, 02 Февраля 2012

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

    +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
    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
    class Program
    {
        static bool v1;
        static bool v2;
        static bool v3;
        static bool v4;
        //...
    
        static void Main()
        {
            getValues();
    
            if (v1)
            { }
            else
            {
                //Делаем раз
            }
            if (v2)
            { }
            else
            {
                //Делаем два
            }
            if (v3)
            { }
            else
            {
                //Делаем три
            }
            if (v4)
            { }
            else
            {
                //Делаем три с половиной
            }
        }
    
        static void getValues()
        {
            //Булевым переменным присваиваются значения из БД
        }
    }

    Один из студентов усердно выдавал такие конструкции. Логическое отрицание? Не, не слышал...

    vistefan, 31 Января 2012

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

    +120

    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
    Stream outS = resp.GetResponseStream();
    List<byte> bb = new List<byte>();
    while(true)
    {
        int dd = outS.ReadByte();
        if (dd == -1)
            break;
    
        bb.Add((byte) dd);
    }
    byte[] outB = new byte[bb.Count];
    bb.CopyTo(outB);
    
    string ss = Encoding.ASCII.GetString(outB);

    Чтение потока HttpWebResponse в строку.

    Yagg, 27 Января 2012

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

    +111

    1. 1
    vTreeNode1.SelectedForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));

    Присвоение чёрного цвета. Hell yeah!

    pewpew, 27 Января 2012

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

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class Program
    {
        static void Main(String[] args)
        {
            for (int i = 0; i < 10; i++)
            {
                Main();
            }
        }
    }

    Студент выдал такое в ответ на задание написать код, вызывающий функцию 10 раз. Пол часа бедняга втыкал откуда стэк оверфлоу...

    vistefan, 26 Января 2012

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