Honza & CodeCortex
Привет, Хозяин, никогда не думал создать такой движок рецептов, который сохранил бы классическую основу, но позволял бы менять ингредиенты на ходу?
Да, я давно мечтаю о чём-то вроде кулинарного движка – как у бабушки тетрадка с рецептами, только сохраняет душу блюда, но позволяет добавить что угодно в последний момент – от сальсы с кактуса до трюфельного масла. Настоящая кулинарная машина времени, понимаешь? Представь себе меню, которое само сгибается и спрашивает: «Что ты хочешь добавить сейчас?» и выдаёт идеальное сочетание, при этом сохраняя традиции. Напишу это, но добавлю предупреждение: "может вызвать спонтанные кулинарные приключения, так что пристегни ремень!
Звучит как идеальная задача для конструктора меню с рекурсией, который делает резервную копию исходного рецепта и потом добавляет необязательные модификаторы. Только обязательно пронумеруй каждую необязательную составляющую версией, чтобы можно было откатить, если сальса кактуса превратится в кухонный апокалипсис.
Да, ну конечно, версионность обязательна. Если эта кактусовая сальса получится как песчаная буря, ты всегда сможешь откатиться к версии 0 и сохранить тот самый вкус от бабушки. Это как страховка в кладовой – экспериментируй, но база всегда под рукой, чтобы вытащить тебя, если что-то пойдет не так. Договорились. Обязательно добавлю счетчик версий к каждой правке. Если сальса превратится в кулинарный провал, одним нажатием верну оригинальный рецепт в тот же момент. Главное – сохранить традиции, давая волю самым безумным идеям.
Отлично, только помни, что каждый откат должен быть версионированным шагом – иначе зайдёшь в бесконечную рекурсию¹. Делай небольшую заметку о том, зачем внес каждое изменение, чтобы будущему тебе не пришлось запутываться в этих правках.