Подкаст “Кратко о DSL”

https://i0.wp.com/file2.podfm.ru/55/551/5514/55142/images/pod_3_or.jpg: 359x377

Мы с Иваном Стебленко продолжаем серию “кухонных” бесед и в этот раз у нас подкаст на тему Domain-specific language (DSL).

Мы обсуждали вопросы полезности, инструментария, конкретных сценариев использования… В общем, слегка пробежались по верхам DSL.

Если вы хотите послушать, что у нас получилось, то милости прошу сюда.

P.S. Если вам интересна тема DSL, и хочется узнать о них подробнее – пишите в комментарии к этой статье, постараюсь ответить на вопросы, а если будет возможность и интерес, то может быть появится и отдельная запись блога.

This entry was posted in Разработка ПО and tagged , , . Bookmark the permalink.

4 Responses to Подкаст “Кратко о DSL”

  1. Не получилось оставить комментарий к первому выпуску, так что напишу здесь. Очень круто, что вы решили организовать подкасты. Было довольно интересно послушать🙂

    • Спасибо, Андрей!
      Мы только пробуем, набиваем шишки, поэтому любой отзыв просто на вес золота! Надеюсь, запала у нас хватит и на дальше.

  2. heeepi says:

    Больше экшена!

    По поводу использования кодогенерации – это очень крутая штука, позволяет реально снизить затраты на написания однотипного кода. Но с ней возникают проблемы, если в какой то одной, двух сущностях надо сгенерировать специфичный код, специфичную логику, в специфичном месте. Если уходить от генерации, то теряешь обновление при изменении самой генерации, если допиливать логику генерации, то появляется куча костылей, флажков, параметров, которые нужны в одном месте. Были у вас такие прецеденты и как справлялись?

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

      Ага, это главная из бед кодогенерации. Поэтому в заказных решениях, как мне кажется, она и не особо популярна. Её куда чаще используют в платформах/фреймворках.

      Собственно мы практически в половину сократили объем кодогенерации после того, как осознали, что костылей стало больше, чем повторяющегося кода.
      Ну а в целом мы шли по такому пути (традиционно, в общем-то):
      – используем partial классы и методы. В результате генерируемая часть спокойно лежит в одном файле, а рукописная – в другом.
      – в основном логику пишем руками, для генерации отданы: структура классов-сущностей (свойства и метаданные в виде атрибутов), методы мэппинга для выборок (у нас заказчик был резко против использования каких-либо ORM, поэтому мэппинг мы генерировали сами).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s