Русский
Открыть в Telegram

Пост Я большой сторонник постепенного развития продукта - сначала делаем MVP(Minimum Viable Product), выпускаете его в мир, а…

28 октября 2025
Л
Любопытный Код
Я большой сторонник постепенного развития продукта - сначала делаем MVP(Minimum Viable Product), выпускаете его в мир, а потом дорабатываете наиболее востребованные места. Есть цитата, ярко характеризующая этот подход: Если тебе не стыдно за твой MVP, то ты выпустил его слишком поздно. В середине этого года я начал переделывать бота на принцип движка. Если раньше каждый квест был классом, то теперь это конфигурационный файл. Про это я уже частично писал. И т.к. квесты штука вариативная и ещё и statefull, то в какой-то момент пришлось добавлять выражения. И, разумеется, сразу делать красиво и правильно я не стал. Разрабатывать и реализовать грамматику, а потом ещё и поддерживать её с самого начала? Пфф! Тем более мне был необходим простейший минимум для начала: get_money_reward: expression: "TMP_PUMPKIN_SIZE=U.PUMPKIN_SIZE;MONEY_REWARD=34*U.PUMPKIN_SIZE;G.MONEY+=MONEY_REWARD;U.PUMPKIN_SIZE=null" publicText: - "${USERNAME} вырастил${FEMALE?а} ${TMP_PUMPKIN_SIZE==1?маленькую тыковку}${TMP_PUMPKIN_SIZE==3?среднюю тыкву}${TMP_PUMPKIN_SIZE==9?большую тыкву} 🎃" text: - "Внутри тыквы вы обнаруживаете горсть золотых монет (+${MONEY_REWARD} 💰)" choices: "🌾 Назад": [ "pumpkin_field" ] Все реализовано на простых, но составных выражениях, которые парсятся регулярными выражениями. Присваивание, инкрементация, сравнения. В условиях только и/или. Никаких скобок, или даже составных арифметических выражений. И этого было достаточно для того чтобы перевести все квесты на новый движок. И, наконец, пришел момент, когда это стало недостаточно. Имея 100+ квестов перед собой, я понимаю какая грамматика мне нужна. Реализовать я это решил с помощью ANTLR, и теперь готов приступить к следующему шагу. P.s. в примере с узлом есть, бросающаяся в глаза, ошибка. Работающая на начальных этапах, но не попавшая в грамматику, найдёте?
1 · 360 ·

Рядом в ленте

ЛЛюбопытный КодДоброе утро!ЛЛюбопытный КодФотография
это сообщение
ЛЛюбопытный КодДелюсь самой грамматикой, вдруг кому-то захочется попробовать.ЛЛюбопытный КодНикогда мем еще так хорошо не описывал мою текущую работу 🥺
ЛЛюбопытный КодЛюбопытный Код@curious_code · канал
74постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем