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

    +140.9

    1. 1
    XElement rootNode = XDocument.Load("hospital.xml").Descendants().Descendants("mainform").Single(x => x.Attribute("value").Value.Split("\\".ToCharArray()).Contains(splitted[1]));

    Весь проект в подобном говне, дебажить невозможно

    Запостил: guest, 01 Июля 2009

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

    • linq:
      that's called LINQ, sucker
      Ответить
    • Ну... от того что здесь юзается LINQ говнистость кода не уменьшается:))))
      Ответить
    • Ну и херь:)))
      Ответить
    • Мудаки)
      В этом коде не правильно построены цепочки операторов запроса.
      Сравните такое построение:
      string[] someStrings = {"ofck", "sdfsdf", "fock", "focking"};
                  string result = System.Linq.Enumerable.Where(someStrings, x => x.IndexOf("fock") != -1).OrderBy(x => x.Length).Select(x => x.ToUpper()).First();

      и такое:
      string[] someStrings = {"ofck", "sdfsdf", "fock", "focking"};
                  string result = 
                      System.Linq.Enumerable.Where(someStrings, x => x.IndexOf("fock") != -1)
                      .OrderBy(x => x.Length)
                      .Select(x => x.ToUpper())
                      .First();

      Это лучше чем *!!!верстать!!!* на блядском сишном синтаксисе, процедуры. Взгляните на вещи трезвыми глазами, ООП требует нового подхода. Который перед нашими глазами.
      Ответить
    • Bers:
      Обычный LINQ-to-Xml, что не нравится? Разве что переформатировать стоит для читабельности:
      XElement rootNode = XDocument.Load("hospital.xml")
      .Descendants()
      .Descendants("mainform")
      .Single(x => x.Attribute("value").Value
      .Split("\\".ToCharArray())
      .Contains(splitted[1]));

      Надо знать язык, на котором пишешь:)
      Ответить
    • Посмотри код выше, и подумай, в каких местах потенциально может быть ошибка

      1) XDocument.Load("hospital.xml") - при загрузке дока
      2)Descendatns() == null
      3)Descendants("mainform")
      3) x.Attribute("value")
      4) splitted[1] == null

      И подумай какого это будет дебажить и суппортить тому кто этот код не писал

      При чем здесь новый подход в ООП? Писать надо нормально
      Ответить
      • Я с такими ошибками борюсь через XSD схемы. Всё, что мне нужно, ограничивается схемой, и при работе программы, если документ прошёл валидацию, неожиданностей уже быть не может.
        Ответить
    • С ошибками все понятно, я думал вы о синтаксисе.
      Ответить
    • Bers:
      [quote=Говногость]
      Посмотри код выше, и подумай, в каких местах потенциально может быть ошибка

      1) XDocument.Load("hospital.xml") - при загрузке дока
      2)Descendatns() == null
      3)Descendants("mainform")
      3) x.Attribute("value")
      4) splitted[1] == null
      [/quote]

      Ты удивишься:) Спецификации LINQ предписывают не возвращать null ни при каких обстоятельствах, вместо это при необходимости - бросать исключение.
      Разумеется, исключения надо обрабатывать, тут и спорить нечего.
      Ответить
    • нормально написано .. правда поформатировать не мешало бы (а кто не знает LINQ то пусть учятся это хорошо)
      Ответить

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