Общее изменяемое состояние (Shared Mutable State)
ID: shared_state | Степень критичности: Средняя (по умолчанию)
Выявляет экспортируемые переменные, которые являются изменяемыми (например, export let ... или export var ...).
Почему это «запах»
Глобальное или общее изменяемое состояние — распространенный источник трудноотслеживаемых багов. Оно делает поведение модуля непредсказуемым и зависимым от порядка выполнения.
Как исправить
- Используйте Const: Экспортируйте только константы.
- Инкапсулируйте: Используйте класс или функцию для управления состоянием и обеспечьте контролируемый доступ через методы.
- Используйте менеджер состояния: Если состояние действительно должно быть общим, используйте подходящую библиотеку управления состоянием (Redux, Zustand и т. д.).