Иногда архитектурное решение прячется в одной «мелочи» — где именно поставить паузу в цикле исполнения. Я видел это на примере интерпретатора машины Тьюринга в Web Worker: UI должен успевать показывать трейс, а значит между шагами нужен короткий, регулярный стоп — не кнопка Pause, а именно управляемая задержка на каждом витке.
На практике выбор места для этой паузы фиксирует сразу два контракта:
1) хуки самого движка;
2) протокол между worker и main thread.
И вот здесь начинается самое интересное: если паузу встроить не туда, потом придётся лечить и API, и обмен сообщениями, и поведение UI одновременно. То есть это не «техническая деталь», а точка, где проектируется вся система 🧩
Полезный маркер для команд: если в обсуждении async-логики кто-то говорит «давайте просто подождём миллисекунду», значит, архитектуру ещё не выбрали.
IT Weekly Pro
@ITWeeklyPro
Иногда архитектурное решение прячется в одной «мелочи» — где именно поставить паузу в цикле исполнения. Я виде
Этот пост опубликован в Telegram-канале IT Weekly Pro. Подписаться можно по ссылке: @ITWeeklyPro.