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

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private void Form_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Escape)
                {
                    btnCancel_Click(sender, EventArgs.Empty);
                }
            }

    Форма - модальный диалог, Cancel кнопка обычная - никаких причин просто выставить у нее DialogResult в Cancel не было. Но ведь так нагляднее!

    eval_2009, 05 Января 2011

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

    +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
    #region methods
    
    private bool _updatingState;
    
    public class ProcessArgs : EventArgs
    {
    }
    
    internal event EventHandler<ProcessArgs> OnBeforeProcess;
    
    public abstract void Process(IEnumerable<DataSource> data);
    
    // Тут еще много всего, на удивление есть и методы
    
    #endregion
    
    #region properties
           private readonly IList<IResult> _results = new List<IResult>(100);
            private void buildResultsList()
            {
               //код
            }
       // ну и немного свойств
    #endregion
    
    #region events
      public delegate IEnumerable<int> Strategy();
    
            public class StrategyEventArgs : EventArgs
            {
                public Strategy Strategy { get; set; }
            }
            public event EventHandler OnResultsLoading;
    
            private void raiseOnResultsLoading() 
           {
              foreach (EventHandler handler in OnResultsLoading.GetInvocationList())
                          handler(this, EventArgs.Empty);
           }
    #endregion
    
    #region members
    // пусто - все мемберы сидят по другим region
    #endregion

    За что я не люблю regions, особенно у говнокодеров. Зато если просто открыть файлик то выглядит все замечательно, чисто и аккуратно.

    eval_2009, 05 Января 2011

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

    +112

    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
    public static class EntryPoint
        {
            private class NotFoundException : ApplicationException
            {
                public FoundException(int id, SourceType type)
    
                private SourceType Type { get; set; }
                private int Id { get; set; }
            }
    
          private class InProgressException : ApplicationException
            {
                public InProgressException(int id, SourceType type)
                {
                    Type = type;
                    Id = id;
                }
    
                private UserViewSourceType Type { get; set; }
                private int Id { get; set; }
            }
    
         public static void Analyze(SourceType type, IEnumerable<int> dataId)
            {
                try
                {
                    initialize(type, dataId);
                }
                catch (InProgressException)
                {  
    // немного говнокода
                }
                catch (NotFoundException)
                {
    // немного говнокода
                }
    }

    Для того что бы внутри статического класса между двумя процедурами наладить связь (Analyze - initilize) человек определил два новых типа exceptions (private) и дал им дополнительные свойства которые нигде не используются. Exceptions эти больше нигде кроме initialize не кидаются и нигде кроме Analyze не ловятся. Ну и initialize больше ниоткуда кроме Analyze не вызывается.
    В итоге имеем два лишних класса и тучу кода который можно без помех удалить, чем я собственно и занимаюсь :)

    eval_2009, 05 Января 2011

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

    +121

    1. 1
    2. 2
    if (_flag_visible == true) obj.SetVisible();
    else if (_flag_visible == false) obj.SetInvisible();

    Crazzy, 05 Января 2011

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    static void Initialize()
            {
                if (Manager.Current == null)
                {
                    new Manager();
                }
            }

    человек изобрел новый тип singleton, instance которого выставляется при вызове конструктора его типа. Если вызвать два раза - второй перекроет первый. Тип public, конструктор тоже public

    eval_2009, 05 Января 2011

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

    +125

    1. 1
    m_PRICEURL = m_PRICEURL.Replace("{0}", "2010");

    Новый Год принёс не только подарки, но и коллекцию говнокода вроде такого

    Shokker, 03 Января 2011

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

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Exception Myex;
                    int responseVal = HelperMethods.DoPost(url, postdata, "text/xml; charset=utf-8", ref xmlResponse, null, out Myex);
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load(new StringReader(xmlResponse));
    
                    string StatusID = xmlDoc.ChildNodes[1].ChildNodes[0].FirstChild.Value;
                    if (StatusID.ToLower() != "0")

    Последняя строка не может не радовать. Никогда не знаешь каким большим может быть ноль ...

    Othello, 03 Января 2011

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

    +114

    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
    public new int? OperatorCode
            {
                get
                {
                    int result = 0;
                    if (!String.IsNullOrEmpty(Request.QueryString["OperatorCode"]) && Int32.TryParse(Request.QueryString["OperatorCode"].ToString(), out result) == true)
                        OPERATOR_CODE = result;
                    return OPERATOR_CODE;
                }
                set
                {
                    if (value.HasValue)
                        OPERATOR_CODE = value.Value;
                    else
                        OPERATOR_CODE = null;
                }
            }

    Вот такое свойство мне встретилось

    Othello, 03 Января 2011

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

    +113

    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
    let rnd = System.Random()
     
    // создаём строку, содержащую 10 случайных чисел, разделённых пробелами
    let sourceString = System.String.Join (" ", [1..10] |> List.map (fun x -> rnd.Next(1, 10).ToString()))
     
    // функция, удаляющая повторяющиеся числа из строки
    let removeDuplicate str =
        // разбиваем строку на отдельные числа
        let sourceList = sourceString.Split ([|' '|]) |> Array.toList |> List.map (fun x -> System.Int32.Parse (x))
        
        // список, в который будем ложить неповторяющиеся элементы
        let newList = ref []
     
        // проходим по всем элементам исходного списка
        List.iter
            (fun x -> 
                // если элемента в новом списке ещё нет, кладём его туда
                if (List.exists (fun y -> y = x) !newList) = false 
                then (newList := List.append !newList [x]))
            sourceList
     
        // получаем строку из списка с неповторяющимися элементами
        System.String.Join (" ", !newList |> List.map (fun x -> x.ToString()))
     
    // получаем новую строку
    let resultString = removeDuplicate sourceString
     
    // выводим старую и новую строку
    printfn "%s" sourceString
    printfn "%s" resultString

    qbasic, 01 Января 2011

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

    +113

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    open System
     
    let mutable str = "1234455566667778888"
     
    for i = str.Length - 1 downto 1 do
        if str.[i] = str.[i-1] && Char.IsDigit(str.Chars(i)) then
            str <- str.Remove(i, 1);
     
    printfn "%s" str
    Console.ReadKey() |> ignore

    qbasic, 01 Января 2011

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