シンプルなブール値フィーチャーフラグトグル
すべてのユーザーに対して機能のオン/オフを切り替える基本的なブール値フィーチャーフラグを作成します。本番環境で最もシンプルで一般的なフィーチャーフラグパターン。
Basic Patterns
詳細な説明
ブール値フィーチャーフラグトグル
ブール値トグルは最も基本的なフィーチャーフラグパターンです。フラグは評価するすべてのユーザーに対してtrue(機能有効)またはfalse(機能無効)のいずれかです。
設定例
{
"dark-mode": {
"name": "Dark Mode",
"description": "すべてのユーザーにダークモードテーマを有効化",
"type": "boolean",
"enabled": true,
"defaultValue": false,
"targeting": []
}
}
仕組み
フラグが有効でdefaultValueがfalseの場合、機能は技術的にアクティブですがデフォルトではオフです。直感に反するように思えるかもしれませんが、フラグの状態を変更せずに後からターゲティングルールを追加できます。defaultValueをtrueに設定すると、すべてのユーザーに機能が表示されます。
主な考慮事項
| 側面 | 詳細 |
|---|---|
| シンプルさ | グローバルなオン/オフにターゲティングルール不要 |
| パフォーマンス | ルールチェックがないため最速の評価 |
| フォールバック | 常に明確なフォールバック値がある |
| ユースケース | メンテナンスモード、機能ローンチ、クイックロールバック |
LaunchDarklyでの対応
LaunchDarklyでは、kind: "boolean"と2つのバリエーション[true, false]を持つフラグにマッピングされます。offVariationはfalseバリエーションを指します。
ベストプラクティス
- 常に「安全な」状態を表す意味のあるデフォルト値を設定する
flag-123ではなくenable-dark-modeのような説明的なフラグキーを使用する- フラグが何を制御し、なぜ存在するかを説明する説明を含める
- 説明にクリーンアップ日やチケット参照を追加することを検討する
ユースケース
新しいダークモード機能のローンチで、シンプルなオン/オフスイッチが必要な場合。開発中はフラグをオフにしておき、ローンチ日にフラグをtrueに切り替えます。問題が発生した場合は、コードをデプロイせずにすぐにfalseに戻します。