Не с первого раза: упрощаем С++ код с помощью DSL, Илья Шишков
HTML-код
- Опубликовано: 12 сен 2024
- Поделится опытом решения реальной задачи в одном из сервисов бэкенда Яндекс Еды. Задача состоит в том, что надо вычислять длительности отдельных стадий заказа в Еде: попадания курьера в ресторан, приготовления, доставки готового блюда и т. д. Помимо расчёта самого значения, надо сохранять в лог формулу, по которой оно было рассчитано, а также значение всех переменных в этой формуле. Это нужно для дальнейшей аналитики и отладки. Изначально это было запрограммировано «в лоб»: был отдельный код расчёта значения и отдельный код формирования текстового представления формулы и сохранения значений переменных.
У такого кода масса недостатков: его трудно понимать и менять. Была поставлена задача сделать так, чтобы достаточно было написать формулу, и всё необходимое формировалось само.
В своём докладе спикер покажет не только итоговое решение, но и путь, которым к нему пришли. Вы увидите, как разные возможности С++ применяются для решения реальной задачи.
Выражая своё глубокое уважение к докладчику, за его титанический труд, за умение работать с головоломными шаблонами си++, у меня возникает один вопрос, а нафига?!!! Может было проще сделать какой нибудь кодогенератор, который по представленным формулам, написанным нормальным математическим языком, сгенерировать код на си? Который потом можно откомпилировать и запускать. На мой взгляд автор доклада наглядно показал что Си++ не самый лучший язык для написания DSL, если конечно не хочешь свихнуться на 2м этапе. Теперь я понимаю почему программисты говорят о профессиональном выгорании.
Очень интересен ответ автора или другого опытного плюсовика на данный вопрос.
В Яндексе уже пробуют раст? :)
Сначала изобретаем шизоязык..
а потом руководство как на нём написать по проще
Ну есть же Си, где всё роимитивно и быстро делается Ах да он не всем по зубам...