Comments 8

Есть такая вещь как annotation processor, которая существует уже давно и сделана специально для кодогенерации.

Спасибо! Не был с ним знаком.
Только как то не понятно какую часть проекта он тут сэкономит?
Не большую часть работы код генератора?

Очень сильно экономит время разработки. Он вызывается прямо во время компиляции, когда классы уже распарсены, но реально еще не сгенерированы. Решает проблемы:


  • не нужен вызов сторонней тулзы после каждого изменения класса
  • решена проблема с поиском аннотированных классов — компилятор уже знает их все
  • нет необходимости грузить классы из classpath, чтобы интроспектировать их с помощью reflection
  • скорость работы на порядки выше

Недостатки:


  • вместо reflection используется компиляторный mirror api

Есть куча примеров как написать простой annotation processor.

Недостатки: вместо reflection используется компиляторный mirror api

Не сказал бы, что это недостаток.

UFO landed and left these words here
Да, я с нуля поднила проект и сделал эту штуку с самого начала. Мне очень нравится.
Скажите, я правильно понял, что код тайпскрипта генерируется из Котлина?
И думали ли вынести контракт в Сваггер или нечто подобное?
Да, тайпскрипт из котлина. Потом он компилируется в Джава Скрипт и публикуется в репозитории
Да, про сваггер я думал, это очень легко добавить. ребята с фронтенда сказали, что пока не надо
Only those users with full accounts are able to leave comments. Log in, please.