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

    +114

    1. 1
    2. 2
    3. 3
    4. 4
    public static IHtmlString CreateAchorCloseTag(this HtmlHelper htmlHelper)
    {
        return htmlHelper.Raw("</a>");
    }

    Запостил: beardeddev, 26 Апреля 2012

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

    • Где здесь говно? Что имя метода длиннее реализации? Ну так для единообразия, видимо.
      Ответить
      • Всё верно говна нет. Это extension-метод. По всей видимости для LINQ.
        Ответить
        • Может всё же стоит изучить технологию, прежде чем писать про неё? Со стороны это выглядит просто глупо...

          Если нет желания осваивать платформу .NET и язык C#, то хотя бы ознакомиться с функциональным программированием. И понять наконец, что язык запросов, текучий интерфейс и функциональный стиль - совершенно не связанные напрямую вещи, ортогональные друг другу.
          Ответить
          • >extension-методы, язык запросов, текучий интерфейс и функциональный стиль совершенно не связанные напрямую вещи.
            Несмотря на то что они совершенно несвязанны, все они неотъемлимая часть LINQ. Парадокс?!
            Ответить
            • Циклы for, переменные, классы - твоим языком - тоже часть линка.
              Не позорься, подучи технологии, про которые хочешь поговорить...
              Ответить
              • Butthurt.AsParallel()
                Ответить
                • Да, у меня лютый баттхёрт! Я искренне не понимаю, зачем кодомакаки, не разбирающиеся в какой-нибудь технологии/языке, лезут обсуждать эту технологию/язык. ЗАЧЕМ?

                  Вот, например, пишет ТарасБ про Аду. Я не знаю этот язык, не лезу туда, не пишу: "пыщь-пыщь! Ада говно!"

                  Реально не понимаю, зачем многие позорятся, явно показывая своё незнание?

                  Ладно бы, спрашивали, что не понимают. Или писали бы с юмором. Так нет...
                  Ответить
                  • Это вам надо прочетать бестселер "Как нихуя не понять и не подать виду"
                    Ответить
                  • Ты конечно сильно удивишься, но ТарасБ больше пишет про C++.
                    Причем то, что он пишет про С++ удивит тебя еще сильнее.
                    Ответить
                    • C++ я понимаю. Аду нет. В обсуждении первого изредка участвую. В обсуждении второго - нет. Так понятно?
                      Ответить
      • Прозреваю, что этот метод и куча на него похожих городится только для того, чтоб писать примерно в таком духе:
        new HtmlHelper(). AsParallel().CreateDivOpenTag().CreateAc horCloseTag().CreateText().CreateAchorCl oseTag().CreateDivCloseTag(). AsParallel()
        Ответить
        • Да не, он возвращает не HtmlHelper, а IHtmlString. Так что, скорее всего
          html.Add(helper.CreateAnchorOpenTag(linkTarget));
          html.Add(helper.CreateText(text));
          html.Add(helper.CreateAnchorCloseTag());
          Ответить
          • IHtmlString принципиально отличается от обычной строки?
            Ответить
          • >Да не, он возвращает не HtmlHelper, а IHtmlString.
            я видел, потому сказал
            >чтоб писать примерно в таком духе

            >html.Add(helper.CreateAnchorOpenTag(lin kTarget));
            >html.Add(helper.CreateText(text));
            Так пишут только убогие джависты. У LINQ-богов код разделен не ";", а "."
            И зачем тогда лепить extesion? Можно и обычными методами.
            Ответить
            • > У LINQ-богов
              В этом коде линка нет. Совсем!
              Ответить
              • >В этом коде линка нет. Совсем!
                Спасибо кеп.
                Научись читать предложения собеседника полностью.
                Ответить
            • Ну, скажем, если HtmlHelper библиотечный, и умеет писать теги только в общем виде, типа CreateOpenTag(name, attrs); CreateCloseTag(name); , а уже конкретные случае реализуем расширениями... Тут, правда, Raw...
              Короче, не знаю, смотря что за задумка исходно была.
              Ответить
        • а метод-то static
          Ответить
          • Это extension method. Он так и вызывается, как будто бы он член своего первого аргумента.
            Ответить
          • и класс, между прочим, тоже
            p.s. какую-то новую ошибку схватил при постинге коммента. Неужили страйкер за сайт взялся опять?!
            Ответить
        • показать все, что скрыто> AsParallel()
          Шутка, повторенная сто раз, становится смешней? Петросян.жпг
          Ответить
    • beardeddev, под какой фреймворк написан код?
      Может выкинуть этот велосипед, и заюзать System.Web.Mvc.TagBuilder ?
      В таком виде это действительно говно. Слишком длинно. Не сделан хотя бы fluent интерфейс.
      Ответить
      • Это единственная не говномысль мысль в этой куче говнообсуждения...
        Ответить
        • кукушка хвалет петуха
          за то, что хвалет он кукушку
          Ответить
          • > хвалет
            Розенталя на тебя нет! >_<
            Шёл бы ты отсюда, кукушок.
            Ответить
        • >Это единственная не говномысль мысль в этой куче говнообсуждения...
          А ты запостил код сюда, чтобы тебе сказали как правильно его переписать?
          Ответить
          • здесь самое правильное - переписать его под новым номером :)
            Ответить
    • Текучий интерфейс в PHP, кому интересно http://prowebing.ru/fluent-php-pattern/
      Ответить

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