Know-how as code: прикладная кодогенерация для Java-разработчика

Java-разработчики, особенно те, кто заняты в заказной разработке, находятся в постоянной борьбе за то, чтобы писать меньше бойлерплейт кода, будь то тривиальные геттеры-сеттеры, конструкторы и т.п. или CRUD репозитории и контроллеры. Часто решением является кодогенерация в разных видах: поддержка генерации в IDE, генерация байткода при помощи Lombok, процессоры аннотаций, порождающие новый код, фреймворки, позволяющие по описанию модели получить готовое (почти) приложение и много чего еще, не исключая новые и не очень JVM-языки, которые позволяют писать более лаконичный код и реализовывать DSL-и для решения прикладных задач.

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

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


Андрей Когунь,

КРОК
Know-how as code: прикладная кодогенерация для Java-разработчика
Андрей Когунь,
КРОК
Java-разработчики, особенно те, кто заняты в заказной разработке, находятся в постоянной борьбе за то, чтобы писать меньше бойлерплейт кода, будь то тривиальные геттеры-сеттеры, конструкторы и т.п. или CRUD репозитории и контроллеры. Часто решением является кодогенерация в разных видах: поддержка генерации в IDE, генерация байткода при помощи Lombok, процессоры аннотаций, порождающие новый код, фреймворки, позволяющие по описанию модели получить готовое (почти) приложение и много чего еще, не исключая новые и не очень JVM-языки, которые позволяют писать более лаконичный код и реализовывать DSL-и для решения прикладных задач.

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

В докладе мы сделаем ретроспективу наиболее часто применяемых подходов, поговорим об их сильных сторонах, ограничениях и практической применимости, а главное, попробуем взять ситуацию с кодогенерацией под контроль, чтобы она стала реально полезным инструментом эффективного разработчика.
О спикере
O спикере
В IT более 15 лет. В компании КРОК — уже более 8 лет.

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

Преподает для студентов московских вузов курсы по основам разработки с применением Java-технологий. Основатель и организатор встреч московского сообщества Java-разработчиков JUG.MSK.
Другие спикеры
Другие спикеры
Партнёры SnowOne
Онлайн-партнёры
Click to order
Cart
Total: 
Личные данные напечатаем на бейдже, а на почту пришлём подтверждение оплаты в течение 30 минут
Имя
Фамилия
Компания
Должность
E-mail
Оплачивая участие, вы соглашаетесь на обработку персональных данных и с условиями пользования сайтом