フィーチャーフラグ
Feature Flag/ふぃーちゃーふらぐ
ひとことで言うと
機能のオン/オフを、コードを書き換えずに設定だけで切り替える仕組みのことです。
📖 もうちょい詳しく
何が新しいの?
むかしは、新しい機能を見せたいときにプログラムそのものを書き換えて、もう一度世に出し直す必要がありました。これだと、もし不具合が見つかっても、戻すのに時間がかかります。フィーチャーフラグは、機能を出すか隠すかを「設定の値」だけで決められるようにした考え方です。「フィーチャー」は機能、「フラグ」は目印という意味です。
どうやって動いてるの?
プログラムの中に「この設定がオンなら新機能を見せる、オフなら見せない」という分かれ道を作っておきます。そして、その設定の値をコードの外(設定ファイルや管理画面)に置いておきます。すると、プログラムを書き換えなくても、値を切り替えるだけで動きが変わります。値は「全員」だけでなく「一部の人だけオン」のように細かく決められることが多いです。
何ができるの?
新機能を、まず社内の数人にだけ見せて確かめ、問題なければ少しずつ対象を広げる、という出し方ができます。これを段階公開と呼びます。逆に、出した機能で問題が起きたら、設定をオフにするだけですぐに止められます。プログラムを出し直さずに済むので、対応が速くなります。
🌱 身近なたとえ
家のブレーカーで例えると分かりやすいです。部屋の配線そのものを工事しなくても、ブレーカーのスイッチを上げ下げするだけで、その部屋の電気を通したり止めたりできますね。フィーチャーフラグも同じで、プログラムを作り直さず、スイッチに当たる設定をパチンと切り替えるだけで機能を出したり隠したりできます。
✅ まず覚えるポイント
- 機能のオン/オフを、コードを書き換えずに設定だけで切り替える仕組みです。
- 「フィーチャー(機能)」+「フラグ(目印)」という名前です。
- 一部の人にだけ先に見せる、といった段階公開ができます。
- 問題が起きたら、設定をオフにしてすぐ止められます。
- プログラムを出し直さなくてよいので、対応が速くなります。
- 使わなくなった古いフラグは、放置するとコードが複雑になりやすいです。
🧭 よくある勘違い
フラグをオンにすれば全員に届くの?
かならずしもそうとは限りません。「全員にオン」だけでなく、「特定の人だけ」「全体の10%だけ」のように、届ける範囲を細かく決められる場合が多いです。少しずつ広げて様子を見る、という使い方ができます。
一度入れたフラグはずっと残しておくの?
段階公開のためのフラグは、機能が全員に行き渡って安定したら、役目を終えます。そのまま残し続けると、分かれ道が増えてコードが読みづらくなります。不要になったフラグは片づける、という運用が望ましいです。
コードを変えないなら、再デプロイは要らないの?
最初にフラグの仕組み自体をプログラムへ組み込むときは、いつも通り出す作業(デプロイ)が必要です。一度組み込んだ後は、設定の切り替えだけで動きを変えられる、という意味です。
🧩 関連して覚えると楽な言葉
- A/Bテスト: 2つの案を一部ずつに出し、どちらが良いか比べる方法です。フラグで出し分けると実施しやすくなります。
- カナリアリリース: 新しい版をまず少数に出し、問題がないか様子を見てから広げる出し方です。
- ブルーグリーンデプロイ: 新旧2つの本番環境を用意し、切り替えで無停止リリースする手法です。
- ロールバック: 不具合が出たときに、前の状態へ戻すことです。
🏁 ひとことでまとめ
機能を見せるか隠すかを、プログラムではなく設定のスイッチで決める仕組みです。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…