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

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    public static DataTable GetMainMenu()
    {
        DataTable dt = null;
        if (DataManager.IsClientServer)
        {
            dt = new DataTable();
            using (OracleCommand qGetMainMenu = new OracleCommand())
            {
                qGetMainMenu.Connection = DataManager.OracleSession;
                qGetMainMenu.CommandText = String.Format("SELECT * FROM {0}.V_MENU", DataManager.DataSchema);
                using (OracleDataReader odr = qGetMainMenu.ExecuteReader())
                {
                    dt.Load(odr);
                    odr.Close();
                }
            }
        }
        else
        {
            using (Service.AbvServiceClient client = Utils.CreateServiceClient())
            {
                dt = client.GetMainFormMenu();
            }
        }
        return dt;
    }

    2-х или 3-х звенка? прямой вызов или Wcf-служба?
    з.ы. повсеместно во всем проекте

    Запостил: coyote, 18 Ноября 2010

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

    • На говонокод не тянет, а на кривость архитектуры еще как.
      Ответить
    • Соглашусь. Отсутствие архитектуры привела к такому коду. Согласны?
      Код писали бывшие дельфисты.
      з.ы. система "разрабатывается" в крупном банке, финансовые операции, документооборот и т.д. и т.п.
      Ответить
    • >>new OracleCommand()
      вот это уже фейл.

      зачем зашивать базу?
      Ответить
      • шаблоны проектирования - это видимо от лукавого)
        Ответить
      • чем плохо? кстати, этот раздел FCL страдает архитектурными изъянами, т.к. был сильно переделан в 2.0 по сравнению с 1.х
        Ответить
    • Фейл вообще во всем. Это лишь верхушка айсберга. Методы по 1,5 тыс строк кода, копи-паст бизнес-логики, ручной парсинг xml файлов... процедурное программирование если кратко.
      Ответить
    • Да, основная причина наверно в том, что авторы не умели пользоваться ООП, захотели сделать систему, работающую в разных средах. Как попроще, в процедруном стиле и все в одной куче.
      Хотя есть потуги к структурированию в виде Utils.CreateServiceClient()
      Ответить
      • авторы просто не желают знать ООП, нет у них желания развиваться и учиться в проф плане, но зато есть ЧСВ
        Ответить
        • за чувство собственной важности да при таком подходе - убить ап стену!
          если нет желания учиться и развиваться, это их дело. хотят говнокод писать, пусть пишут, личный выбор каждого.
          а вот если еще выёживаються сцуко пытаются, то убить ап стену нах!!!
          Ответить
          • помню в возрасте 12-ти лет я тоже так писал... LOL
            Ответить
    • я въехал! они переводили уже готовую действующую систему на wcf-сервисы, которая раньше работала напрямую с БД!
      а вот то, что новый код вставили прямо в те же старые методы, вот это заслуживает суровой кары )
      например, чтобы опубликовать здесь имена авторов ))))
      Ответить

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