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

    +103

    1. 1
    2. 2
    3. 3
    4. 4
    private ListBoxItem FindItem(string guid)
    {
            return _userlist.Items.Cast<ListBoxItem>().FirstOrDefault(item => ((TextBlock) ((StackPanel) item.Content).Children[1]).Text == guid);
    }

    Функция поиска элемента в ListBox по значению Guid в одну строку. Наговнокодил ReSharper.

    botinko, 09 Мая 2010

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

    +112

    1. 1
    2. 2
    3. 3
    4. 4
    public List<string> GetAllowedActionsOnHistory(UserInfo info, string objectName, string action, bool def) {
          UserManager.Instance.Register(info);
          return StaticFunctions.GetAllowedActions(new ObjectTypesWorker().GetByName("История сотрудника"));
    }

    Получение каких-то прав :-D

    User123, 07 Мая 2010

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

    +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
    if (this.orderMode == 'alphabetically') {
        Element.writeAttribute(butSortByName, 'disabled');
        Element.addClassName(butSortByName, 'current_state');
       }
       if (this.orderMode == 'bygroup') {
        Element.writeAttribute(butSortByGroups, 'disabled');
        Element.addClassName(butSortByGroups, 'current_state');
       }
       if (this.orderMode == 'byvalue') {
        Element.writeAttribute(butSortByValues, 'disabled');
        Element.addClassName(butSortByValues, 'current_state');
       }

    ну вот разве это нормально ? ... (c) Valery

    dimas_art, 06 Мая 2010

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

    +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
    [SecuritySafeCritical]
    public ObjectHandle CreateInstance(string assemblyName, string typeName)
    {
        if (this == null) // WTF?
        {
            throw new NullReferenceException();
        }
        if (assemblyName == null)
        {
            throw new ArgumentNullException("assemblyName");
        }
        return Activator.CreateInstance(assemblyName, typeName);
    }

    mscorlib 4.0
    System.AppDomain

    alexeykuptsov, 30 Апреля 2010

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

    +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
    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
    void listXmlTree(string filename)
            {
                XmlTextReader rdr = new XmlTextReader(filename);
    
                listBox1.Items.Clear();
                treeView1.Nodes.Clear();
                while (rdr.Read())
                {
                    string s = string.Format("<{0}> - {1}", rdr.Name, rdr.NodeType);
                    listBox1.Items.Add(s);
    
                    if ((rdr.Name == "LVL") && (rdr.NodeType != XmlNodeType.EndElement))
                    {
                        treeView1.Nodes.Add("LVL " + rdr.GetAttribute("N"));
                        while (rdr.Read())
                        {
                            if ((rdr.Name == "WRD") && (rdr.NodeType != XmlNodeType.EndElement))
                            {
                                treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Add("WRD");
                                while (rdr.Read())
                                {
                                    if ((rdr.Name == "L") && (rdr.NodeType != XmlNodeType.EndElement))
                                    {
                                        treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes[treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Count - 1].Nodes.Add("L: " + rdr.ReadElementContentAsString());
    
                                    }
                                    if ((rdr.Name == "K") && (rdr.NodeType != XmlNodeType.EndElement))
                                    {
                                        treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes[treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Count - 1].Nodes.Add("K: " + rdr.ReadElementContentAsString());
                                        break;
                                    }
                                }
                            }
                            if ((rdr.Name == "CHS") && (rdr.NodeType != XmlNodeType.EndElement))
                            {
                                treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Add("CHS: " + rdr.ReadElementContentAsString());
                                break;
                            }
    
                        }
                    }
    
                }
                rdr.Close();
            }

    Такие дела.

    t8apb, 30 Апреля 2010

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

    +135

    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
    // Дефолтный конструктор:
     public Random() 
            : this(Environment.TickCount) {
          }
    
    // Перенаправляемся сюда...
        public Random(int Seed) {
            int ii;
            int mj, mk;
        
            //Initialize our Seed array.
            //This algorithm comes from Numerical Recipes in C (2nd Ed.)
            mj = MSEED - Math.Abs(Seed);

    Очередной "изящный" говнокод в исходниках .NET.
    Говнокод в том, что Environment.TickCount через каждые 24,9 дней возвращает Int32.MinValue, который скормится Math.Abs, который резонно выкинет исключение OverflowException. Вроде бы мелочь, но... Вспомним теперь падение .NET-софта на Лондонской бирже и последующие миллионные убытки. Для загруженных non-stop-серверов непростительно. Хотя в принципе Microsoft аптаймами и не славился :)

    cfdev, 27 Апреля 2010

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

    +111

    1. 1
    2. 2
    3. 3
    4. 4
    try {} finally {
             retVal = NativeMethods.CreateProcess ( /* ... */ );
            /* ... и дальше остальной код... */
    }

    Откопано в исходниках .NET 2.0 Framework, так реализуется Process.Start. Не очень понял замысла. Нашёл, что finally обязательно продолжит исполняться, если во время его исполнения на поток ВНЕЗАПНО вызван метод Abort. Т.е. если потоку, создающему процесс, сделать аборт, процесс всё равно упорно создаcтся и запустится (чистки памяти я не нашёл). В чём смысл? Так можно было бы тогда всякий код оборачивать в finally... Ящитаю, что это всё костыли вокруг говноархитектуры. Не зря в Яве Thread.stop сделали deprecated. А вы как считаете?

    cfdev, 27 Апреля 2010

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

    +118.2

    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
    private ArrayList SortListings(ArrayList _listings)
            {
                ArrayList result = new ArrayList();
                ArrayList company_names = new ArrayList();
                Hashtable entities = new Hashtable();
    
                foreach (ListOfListings l in _listings)
                {
                    try
                    {
                        entities.Add(l.ListingName, l);
                        company_names.Add(l.ListingName);
                    }
                    catch
                    {
                    }
                }
    
                company_names.Sort();
                for (int i = 0; i < company_names.Count; i++)
                {
                    result.Add(entities[company_names[i]]);
                }
                return result;
            }

    Сортировка :)

    bugotrep, 18 Апреля 2010

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

    +116.6

    1. 1
    2. 2
    3. 3
    4. 4
    public AbstractCriterion NoPennisMatch(string fieldName, int value)
    {
    	return Restrictions.Between("qnum", Decimal.Parse(value.ToString()), Decimal.Parse(value.ToString() + ".99"));
    }

    такой вот метод :)

    Coffeeholic, 17 Апреля 2010

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

    +126

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    try
    {
         ....
         com.ExecuteNonQuery();
    }
    catch (Exception ex) { }
            finally
            {
                con.Close();
      }

    ASP.NET
    Вот так вот обрабатываем ошибки, за которые получаем ПИЗДЫ.
    Интересно а откуда ж нам об них узнатьтаа :)))

    otvet_popravkodon, 13 Апреля 2010

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