Используете ли вы инструменты генерации кода? - PullRequest
9 голосов
/ 27 сентября 2008

Используете ли вы инструменты для генерации кода (кроме тех, которые используются для генерации прокси и от дизайнеров, встроенных в Visual Studio)?

Какую часть вашего приложения вы генерируете?

Вы обычно катаете свой собственный генератор? Если да, то какой тип генератора вы пишете (шаблоны asp, coddom и т. Д.). Если нет, то какие сторонние инструменты вы используете?

В настоящее время я работаю над несколькими различными проектами, каждый из которых использует собственный генератор кода, который обрабатывает все, от создания структуры базы данных, бизнес-объектов, DAL и BLL. Мне любопытно, что опыт других людей связан с такими инструментами.

Ответы [ 21 ]

1 голос
/ 28 сентября 2008

Мы используем LLBLGen для создания нашего уровня доступа к данным. Вы указываете генератору на базу данных, которую вы используете, выбираете, какие таблицы вы хотите использовать, и он производит необходимые классы. Это все очень быстро и просто.

1 голос
/ 27 сентября 2008

Самодельные генераторы кода отлично подходят для создания юнит-тестов из электронных таблиц конечных пользователей, которые содержат примеры того, как должен работать.

См. Инструменты для построения тестовых случаев для одного примера.

0 голосов
/ 20 апреля 2013

Я создал собственную структуру генерации кода, которая генерирует прокси-классы для веб-сервисов на нескольких языках, таких как Java Script, Action Script, Java, C # и Objective C, я не использую шаблоны или инструменты, просто простой код C #, который генерирует код В некоторых вспомогательных классах генерация кода действительно может сэкономить много времени, но я думаю, что сгенерированный код должен быть максимально простым и не должен использоваться слишком много.

0 голосов
/ 03 ноября 2009

Я написал и использую инструмент генерации кода на основе Xslt. http://perfectstorm.codeplex.com/

Для генерации dal, процедур, таблиц используется модель с одним корневым XML.

0 голосов
/ 24 октября 2008

Если вы заинтересованы в LLBLGEN, что отлично, вы также можете оценить дозвуковой. Может быть, даже посмотрите, что Роб Конери говорит о каком-либо совпадении или взаимодействии между дозвуком и t4.

0 голосов
/ 27 сентября 2008

У предыдущего работодателя у нас было собственное приложение VB.NET, которое превращало файл определения схемы XML (XSD) в статическую библиотеку C ++. Это значительно облегчило работу с типами данных C ++ (bool, std :: string и т. Д.), И весь интересный код XML был спрятан внутри этих сгенерированных классов.

0 голосов
/ 27 сентября 2008

Мы только начали использовать Grails здесь, в офисе. Ранее у нас был набор собственных сценариев генерации JSF / Hibernate CRUD.

... Граальс побеждает. Генерация кода из Grails очень удобна и может запустить приложение CRUD примерно за 15 минут, не помещая код в файлы кода!

Конечно, он МОЖЕТ генерировать реальный код в файлы кода, когда вы хотите изменить его. Большую часть времени, для обычного CRUD, вы можете просто изменить представления.

0 голосов
/ 27 сентября 2008

Как и некоторые другие здесь, мы также создали наш собственный генератор кода (Inon Datamanager / Viewmanager) для доступа к данным, обработки HTML-форм и определенных операций бизнес-логики. Ключ к тому, чтобы эта работа работала хорошо, заключается в ее разработке, чтобы вам никогда не приходилось прикасаться к сгенерированному коду или смотреть на него.

Таким образом, он почти становится частью языка - язык (в нашем случае Java) расширяется, чтобы включить спецификацию модели предметной области и модель представления, а затем вы просто заполняете пользовательскую бизнес-логику реальным кодом Java.

Это дает нам правильные инструменты для общения с аналитиками и бизнес-пользователями, в то же время обладая способностью Java настраивать детали базового поведения.

0 голосов
/ 27 сентября 2008

Я использовал один для создания сериализуемых объектов данных, которые могут быть преобразованы на разных платформах (Windows, Linux, Solaris, Mac, BSD и т. Д.). Это было внутреннее решение.

0 голосов
/ 27 сентября 2008

Я написал замечательный инструмент, в котором эксперты в формате данных, для которого я написал парсер, могли отправлять свои собственные образцы через веб-форму, просматривать вывод и сообщать мне, был ли он правильным.

С этого момента будет сгенерирован тест jUnit. Прекрасный.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...