Не с первого раза: упрощаем С++ код с помощью DSL, Илья Шишков

Поделится опытом решения реальной задачи в одном из сервисов бэкенда Яндекс Еды. Задача состоит в том, что надо вычислять длительности отдельных стадий заказа в Еде: попадания курьера в ресторан, приготовления, доставки готового блюда и т. д. Помимо расчёта самого значения, надо сохранять в лог формулу, по которой оно было рассчитано, а также значение всех переменных в этой формуле. Это нужно для дальнейшей аналитики и отладки. Изначально это было запрограммировано «в лоб»: был отдельный код расчёта значения и отдельный код формирования текстового представления формулы и сохранения значений переменных. У такого кода масса недостатков: его трудно понимать и менять. Была поставлена задача сделать так, чтобы достаточно было написать формулу, и всё необходимое формировалось само. В своём докладе спикер покажет не только итоговое решение, но и путь, которым к нему пришли. Вы увидите, как разные возможности С применяются для решения реальной задачи.
Back to Top