共有された変更可能な状態
ID: shared_state | 重要度: Medium (default)
変更可能な状態でエクスポートされた変数(例:export let ... や export var ...)を特定します。
なぜこれが「不吉な臭い」なのか
グローバルまたは共有された変更可能な状態は、追跡が非常に困難なバグの一般的な原因となります。これにより、モジュールの動作が予測不能になり、実行順序に依存するようになります。
修正方法
- Const を使用する: 定数のみをエクスポートします。
- カプセル化する: クラスや関数を使用して状態を管理し、メソッドを介して制御されたアクセスを提供します。
- 状態管理ライブラリを使用する: 状態を真に共有する必要がある場合は、適切な状態管理ライブラリ(Redux、Zustand など)を使用してください。