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

    +137.3

    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
    private ArrayList GetSubscribers(string condition)
            {
               ArrayList subscribers = new ArrayList();
               ArrayList lst =  new user_category_notification().Factory.GetItems(condition, "user_category_notification.id_user");
                ArrayList distinc_lst = new ArrayList();
                ArrayList distinc_lst_ids = new ArrayList();
                ArrayList lst_ids = new ArrayList();
                for (int i = 0; i < lst.Count; i++)
                {
                    lst_ids.Add(((user_category_notification) lst[i]).id_user);
                }
                for (int i = 0; i < lst_ids.Count;i++ )
                {
                    if (distinc_lst_ids.Contains(lst_ids[i])) continue;
                    else
                    {
                        distinc_lst.Add(lst[i]);
                        distinc_lst_ids.Add(lst_ids[i]);
                    }
                }
                foreach (user_category_notification _un in distinc_lst)
                {
                    user _current = (user)new user().Factory.GetByID(_un.id_user);
                    subscribers.Add(_current);
                }
                
                return subscribers;
            }

    Филтрация :)

    Запостил: bugotrep, 02 Октября 2009

    Комментарии (7) RSS

    • а что такое distinc? :-)
      Ответить
      • В sql distincT значит уникальност. Говнокодер хотел отделить уникальные записи :)
        П.П. Извините мой плохый руский, я не писал очень долго.
        Ответить
        • Ничего страшного :)
          По крайней мере, автор кода знал C# хуже чем вы русский язык
          Ответить
    • > user_category_notification
      > distinc_lst_ids
      Сишная зараза неискоренима
      Ответить
    • Видимо только к концу написания этого безумного метода, кодер дочитал статью про foreach и торжественно его в конце заюзал вместо for( ....count ...).
      Кстати, кто-нибудь знает почему говнокодеры так любят ArrayList? Сам неоднократно сталкивался.
      Ответить
      • Потому что он был в старых версиях фреймворка (скопипиждено с жабы). Говнокодеры славны тем, что, выучив некий способ решения задачи, больше эту прблему пересматривать совершенно не желают (работает - и ладно!), пока их поделия не начнут тормозить без повода :)
        Ответить

    Добавить комментарий