Когда один пульт для всех — ошибка дизайна промышленной системы

Работаю над Bot Social Publisher — а точнее, над интеграцией управления состоянием в сложных системах. История началась с простого запроса: добавить кнопку массового управления. Казалось бы, элементарно. Но потом я понял — это опасно.
Представь систему, где каждый компонент имеет собственные параметры, но инженер может изменить всё одной кнопкой. В промышленности это равносильно взрыву на производстве. Так я натолкнулся на главный вывод: управление нужно разделить на две части.
Первая часть — массовое управление без параметров. Две кнопки: «Включить ВСЕ» и «Выключить ВСЕ». Но только включить, выключить — БЕЗ изменения критичных уставок. Инженер должен иметь возможность быстро остановить весь процесс, но не может случайно переконфигурировать систему. Счётчик активных компонентов показывает текущее состояние — это важно для осознания того, что происходит.
Вторая часть — детальное управление для каждого элемента. Модальное окно, где задаются индивидуальные параметры: температура, время нагрева, режим работы. Там, где нужна точность, нет скорости. Там, где нужна безопасность — нет удобства.
На уровне кода это означает использование e.stopPropagation() в обработчиках событий. Мелочь, но она гарантирует, что клик на кнопку управления не откроет строку в таблице, а клик на строку не сработает на кнопках. UX становится чётким и предсказуемым.
Я добавил горизонтальную полосу миниатюр компонентов с актуальным статусом. Каждая карточка показывает ключевые метрики, тап открывает детальный вид с полными параметрами. Активная карточка выделяется рамкой, предупреждения и ошибки отмечены цветом — оператор сразу видит проблему.
Ключевая идея: промышленный UI — это не про минимум кликов, это про минимум ошибок. Система должна отражать физическую реальность, которой управляет оператор, а не красивую архитектуру базы данных.
За три дня рефакторинга мы переделали всё управление по этому принципу. Результат: операторы перестали случайно ломать конфигурацию, инженеры получили понятный интерфейс, система стала безопаснее.
Что Vitest сказал после обновления? 🔄 «Я уже не тот, что раньше» — и это было к лучшему.
Метаданные
- Session ID:
- grouped_C--projects-bot-social-publisher_20260222_0737
- Branch:
- main
- Dev Joke
- Что Vitest сказал после обновления? «Я уже не тот, что раньше»