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

    +118

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public string Name
            {
                get { return name; }
                set
                {
                    name = "";
                    foreach (var el in value.Take(MaxStringLength))
                        name += el;
                }
            }

    тут всего хватает но сама валидация самая забавная=)

    powerslave, 03 Апреля 2011

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

    +118

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(false && TouchManager.touchCount != 0)
    		{
    			TouchPhaseEnum phase;
    			TouchManager.GetTouchPhase(0, out phase);
    			if(TouchManager.touchCount >= 2)
    			{
    				...
    				return;
    			}
    		}
    	}

    Прогнал проект парсером говонокода, нашел такую конструкцию.

    semens, 02 Апреля 2011

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

    +111

    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
    public List<Zone> IncludedZones {
    	get {
    		var result = new List<Zone>();
    		if (CarreerToHeap.Career.Name != null)
    			result.Add(CarreerToHeap.Career);
    		if (CarreerToHeap.UnLoading.Name != null)
    			result.Add(CarreerToHeap.UnLoading);
    
    		if (CarreerToBank.Career.Name != null)
    			result.Add(CarreerToBank.Career);
    		if (CarreerToBank.UnLoading.Name != null)
    			result.Add(CarreerToBank.UnLoading);
    
    		if (RT3110ToHeap.Career.Name != null)
    			result.Add(RT3110ToHeap.Career);
    		if (RT3110ToHeap.UnLoading.Name != null)
    			result.Add(RT3110ToHeap.UnLoading);
    
    		if (RT3110ToBank.Career.Name != null)
    			result.Add(RT3110ToBank.Career);
    		if (RT3110ToBank.UnLoading.Name != null)
    			result.Add(RT3110ToBank.UnLoading);
    
    		if (WestSubZoneToHeap.Career.Name != null)
    			result.Add(WestSubZoneToHeap.Career);
    		if (WestSubZoneToHeap.UnLoading.Name != null)
    			result.Add(WestSubZoneToHeap.UnLoading);
    
    		if (WestSubZoneToBank.Career.Name != null)
    			result.Add(WestSubZoneToBank.Career);
    		if (WestSubZoneToBank.UnLoading.Name != null)
    			result.Add(WestSubZoneToBank.UnLoading);
    
    		if (RemZone.Name != null)
    			result.Add(RemZone);
    		if (ParkingZone.Name != null)
    			result.Add(ParkingZone);
    		return result;
    	}
    }

    Охрененное свойство

    Guid, 01 Апреля 2011

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    if (NewsId == 0)
        categoriesList.Get();
    else
        categoriesList.Get();

    Встретил при модернизации одного веб ресурса с посещаемостью около 10 тыс.пользователей в сутки

    lexx-pnz, 31 Марта 2011

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

    +116

    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
    /// <summary> 
    /// Сохраняет элементы справочника
    /// </summary>
    public IEnumerable SaveBookElements(IList elements) {
    	IList result = null;
    
    	try {
    		if (elements != null && elements.Count > 0) {
    			if (elements.GetType().GetGenericArguments().Length == 1 && elements[0].GetType() != elements.GetType().GetGenericArguments()[0]) {
    				var mi = typeof(BooksWorker).GetMethod("SaveTypedBookElements", BindingFlags.NonPublic | BindingFlags.Instance)
    					.MakeGenericMethod(new[] { elements[0].GetType() });
    
    				var casted = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(new[] { elements[0].GetType() }));
    
    				foreach (var t in elements) {
    					casted.Add(t);
    				}
    
    				result = mi.Invoke(this, new object[] { casted }) as IList;
    			}
    		}
    	}
    	catch (Exception ex) {
    		throw new ApplicationException("Ошибка!", ex);
    	}
    
    	return result;
    }

    Автор проникся рефлексией :-!

    Guid, 31 Марта 2011

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

    +111

    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
    public const string Message = "messagebox";
                public const string Message_Error = "messagebox.error";
                public const string Message_Question = "messagebox.question";
    
            public void ProcessUrl(string url, object urlContext, EventHandler<ProcessUrlArgs> callback)
            {
                switch (url)
                {
                    case Url.Message:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OK,
                                                             MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        callback(this, urlArgs);
                        return;
                    case Url.Message_Error:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OK,
                                                             MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                        callback(this, urlArgs);
                        return;
                    case Url.Message_Question:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OKCancel,
                                                             MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                        callback(this, urlArgs);
                        return;
                }
     
         // дальше идет уже ручная разборка Url

    Человек изобрел своего диспетчера контролов внутри формы. Вместо специфических методов вызывающий формирует строку вида
    "command.subcommand.parameter1.parameter 2", передается диспетчеру а он уже парсит это обратно.
    К примеру "prefix.persons.view.23.all" означает что нужно создать юзер контрол PersonDetail для персоны с id 23 и показать все опции. Но можно передать и "message" тогда покажется messagebox. Все это происходит внутри одного UI модуля, и все классы internal. более того, этих usercontrols всего 4 разных и все это говно можно заменить на 4 метода с парой параметров в каждом. Но там было бы слишком просто и легко отслеживать что откуда вызывается. А в случае единственного метода ProcessUrl (который не url :) ) все гораздо веселее.

    eval_2009, 30 Марта 2011

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

    +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
    columnDomain.Visible =
     (grid.MainView.RowCount >
    0
    &&
     !String.IsNullOrEmpty(
         ((ListItem)
      grid.MainView.
         GetRow(0)).Domain)
    &&
      ((ListItem)
     grid.MainView.GetRow(0))
          .Domain !=
     ((ListItem)
     grid.MainView.GetRow(0))
         .DisplayName);

    Это реальное форматирование кода, очевидно сделанное для удобства чтения на узком и высокои мониторе :) И такого многие и многие экраны

    eval_2009, 29 Марта 2011

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

    +136

    1. 1
    particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.emit = Mathf.Sin(Random.value*Mathf.PI*2) <= 1;

    Строчка из кода в Unity3D.

    semens, 28 Марта 2011

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

    +134

    1. 1
    string relativedir = Directory.GetParent(Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory()).ToString()).ToString()).ToString()+@"\Webapplication2\App_Data\";

    ссылка на базу данных в другой папке

    oldnavy1989, 27 Марта 2011

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

    +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
    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Caeser_method
    {
        class Program
        {
            static void Main(string[] args)
            {
                int n = 3;
                Console.Write("Input string to encoding: ");
                string input = Console.ReadLine();
                Csr enc = new Csr(n,input);
               // Csr dec;
                enc.encrypt();
                Console.WriteLine(enc);
               // dec = new Csr(n, input);
                enc.decrypt();
                
                Console.WriteLine(enc);
                Console.ReadLine();
            }
        }
    }
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Caeser_method
    {
        class Csr
        {
            public int n;
            public string phraze,outputphr;
            public Csr(int n, string phraze) 
            {
                this.n = n;
                this.phraze = phraze;
                this.outputphr = "";
            }
    
            
            public void encrypt() 
            {
                foreach (char c in this.phraze)
                    if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
                    {
                        if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
                                                                          (c + this.n > 'Z' ? ('A' + ((c -'Z'  + (this.n - 1)))) : (c + this.n)) :
                                                                          (c + this.n > 'z' ? ('a' + ((c - 'z' + (this.n - 1)))) : (c + this.n)));
                        else this.outputphr += c;
                    }
                    else
                    {
                        if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
                                                                          (c + this.n > 'Я' ? ('А' + ((c - 'Я' + (this.n - 1)))) : (c + this.n)) :
                                                                          (c + this.n > 'я' ? ('а' + ((c - 'я' + (this.n - 1)))) : (c + this.n)));
                        else this.outputphr += c;
                    }
            }
    
    
            public void decrypt()
            {
                this.phraze = this.outputphr;
                this.outputphr = "";
                foreach (char c in this.phraze)
                    if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
                    {
                        if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
                                                                          (c - this.n < 'A' ? ('Z' - (('A' - c + (this.n - 1)))) : (c - this.n)) :
                                                                          (c - this.n < 'a' ? ('z' - (('a' - c + (this.n - 1)))) : (c - this.n)));
                        else this.outputphr += c;
                    }
                    else
                    {
                        if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
                                                                          (c - this.n < 'А' ? ('Я' - (('А' - c + (this.n - 1)))) : (c - this.n)) :
                                                                          (c - this.n < 'а' ? ('я' - (('а' - c + (this.n - 1)))) : (c - this.n)));
                        else this.outputphr += c;
                    }
            }
    
            public override string ToString()
            {
                return string.Format("Encoded string: {0}",this.outputphr);
            }
    
        }
    }

    Реализация шифрования методом Цезаря

    rybaki, 27 Марта 2011

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