Дмитрий Мальцев «T4 Templates»

Поділитися
Вставка
  • Опубліковано 31 гру 2024

КОМЕНТАРІ • 10

  • @sergeymikolaitis8205
    @sergeymikolaitis8205 2 роки тому +3

    Графики сравнения Source Generators и T4 - пушка! Отличная работа!

  • @sergeymikolaitis8205
    @sergeymikolaitis8205 2 роки тому +3

    Огромное спасибо за доклад! Наконец-то что-то новенькое, чего я не знал за свои 15 лет в C#!
    Невероятно полезный навык, который в нужный момент может сэкономить реально кучу времени!
    Большая ценность подхода в более дешевой поддержке сгенерированного кода. Где-то что-то изменилось - не проблема, быстро изменил исходные данные и... готово!
    У меня такие моменты, когда надо было собирать исходники на основе внешних данных, в опыте были не часто и не на столько тяжелые, ну и я решал их консольным приложением, которое собирало .cs файлы прям как в первом примере...
    В следующий раз вспомню про это видео и попробую этот подход.

    • @default-writer
      @default-writer 2 роки тому

      Мммм. Привет от 21 года практики в C#.

  • @nickmikheev
    @nickmikheev 2 роки тому +1

    А остался смысл генерить код через T4 когда это же можно сделать через SourceGenerator- ы но более гибко и с лучшей интеграцией в IDE?

    • @sergeymikolaitis8205
      @sergeymikolaitis8205 2 роки тому +3

      Если генерация у тебя делается из внешних данных, которые надо откуда-то вытянуть, она длиться долго и надо ее выполнять 1 раз в неделю - то T4 лучше.
      В конце доклада как раз идет сравнение того и другого.

    • @sergeymikolaitis8205
      @sergeymikolaitis8205 2 роки тому +2

      Скорей всего в какой-то момент все преимущества t4 завезут в source generators.... подождем и увидим.

    • @АлександрК-у6ю
      @АлександрК-у6ю 2 роки тому

      @@sergeymikolaitis8205 если мне память не изменяет, на Т4 можно что угодно генерировать. Мне помниться, что я так TypeScript для фронта генерировал

    • @MaksimVolkau
      @MaksimVolkau 2 роки тому

      Остался. В T4 можно скопировать обычный код из рантайма с# в компайл-тайм и он сможет работать. В сорс-генераторах надо размечать атрибутами код, либо по конвеншену и работать с рослином. Это разные инструменты.

    • @Igor-xm1jy
      @Igor-xm1jy Рік тому

      Сейчас основное ограничение source generators в их полной изолированности друг от друга. Т.е. source generator например для маппинга не увидит код, который генерит source generator для WPF.

  • @yarosroman
    @yarosroman 2 роки тому

    Не хочется давать отрицательную оценку докладу, но много но. Вместо ожидания, а вот давайте напишем такое, дано, вот хотели это, это вот так делается и скрол экранов с исходным кодом. Графики сравнения, не понятно о чем. Раз уж зашла речь о других инструментах, то о них с плюсами и минусами. Как бы человеку пишущему на шарпе уже давно, но не использовавшему T4 вообще, скажем EF6 использовал шаблоны, представляется мощь этого инструмента, а вот для новичка вообще не понятно.