Генератор кода (.net)

Есть ли у вас опыт работы с T4 и T4 Editor ? Можете ли вы сравнить его с CodeSmith или MyGeneration ?

Какие генераторы кода вы используете? Что вы порекомендуете?

Я хочу использовать его для генерации SP. Есть ли что-нибудь еще полезное для вас?

13.12.2008 13:18:08
4 ОТВЕТА
РЕШЕНИЕ

Что именно вы пытаетесь сделать? Я думаю, это также зависит от того, откуда вы пытаетесь сгенерировать код (модель).

Преимущество Codesmith и MyGeneration заключается в том, что они предоставляют множество вариантов для генерации кода - например, в MyGeneration вы можете писать свои шаблоны в разных языках.

MyGeneration может предоставить метамодель любой БД и множество встроенных сценариев генератора - так что, если вы хотите сгенерировать SP, проще всего будет использовать генераторы для MyGeneration - вы можете найти генераторы для CRUD SP прямо здесь. Он также предоставляет достаточно хороший редактор, если вы хотите изменить генераторы.

Если вы создаете DSL или что-то еще (я имею в виду, что модель приходит откуда-то еще), то вы можете рассмотреть возможность использования T4. Однако редактирование T4 - это не самое легкое, что я сделал, потому что в Visual Studio нет поддержки редактирования T4. Вы можете рассмотреть возможность покупки редактора Clarius T4 для хорошей поддержки редактирования.

2
13.12.2008 13:27:38
Основная цель заключается в создании CRUD SP для существующих таблиц БД. Но я предполагаю, что должно быть другое поле, где генераторы кода полезны.
gius 13.12.2008 13:29:53
Для генерации существующих таблиц базы данных crud sps, My Generation должно быть хорошо, поскольку оно может представлять всю БД в качестве модели.
amazedsaint 13.12.2008 13:45:10

Что-то, что увеличивает вашу производительность - это использование встроенных фрагментов Visual Studio .

tab tab

Как ifесли бы вы дважды нажимали и нажимали клавишу Tab, вы сгенерируете оператор if, а затем просто заполняете пробелы.

try и две вкладки сгенерируют блок try-catch

так далее...

Существует целый список фрагментов, которые вы можете использовать.

1
13.12.2008 13:21:14
Фрагменты хороши, но я ищу более мощное решение, генерирующее код на основе определенных данных (например, SP на основе таблиц базы данных).
gius 13.12.2008 13:23:20
Тем более, что вы можете создавать свои собственные фрагменты, это может сэкономить много времени (и повторять действия).
gius 13.12.2008 13:24:58

Как механизм генерации кода, T4 так же способен, как CodeSmith или MyGeneration. Основным его преимуществом является тесная интеграция в Visual Studio; основным недостатком является меньшее количество готовых к использованию шаблонов.

Я лично предпочитаю редактор T4 от Tangible, потому что он работает с T4 Toolbox .

Олег

3
26.05.2010 14:36:38

Помимо рекомендуемых в настоящее время шаблонов T4, существует еще один способ генерации кода в VS - MVC Scaffolding , который можно использовать для любой генерации кода (не только ASP.NET MVC).

Он основан на T4, но добавляет некоторые полезные функции, такие как параметры шаблона, интеграция с VS (открытие документов и т. Д.), Создание сценариев PowerShell и создание нескольких файлов.

0
15.03.2013 15:38:28