フィーチャーフラグの命名規則

フィーチャーフラグキーの一貫した命名規則を確立します。プレフィックス、名前空間、ケーシングスタイル、大規模チーム向けの組織パターンをカバー。

Best Practices

詳細な説明

フィーチャーフラグの命名規則

一貫した命名により、フラグが発見しやすく、自己文書化され、大規模に管理しやすくなります。良い命名規則は、一目でフラグの目的、スコープ、オーナーシップを伝えます。

推奨フォーマット

{prefix}.{team}.{feature-name}

例:

  • release.checkout.one-click-buy
  • experiment.growth.signup-modal-v2
  • ops.payments.stripe-circuit-breaker
  • permission.enterprise.sso-login

プレフィックスカテゴリ

プレフィックス 目的 典型的なライフタイム
release. 新機能ロールアウト 数週間 release.auth.passkey-login
experiment. A/Bテスト 2-4週間 experiment.pricing.annual-discount
ops. 運用制御 恒久的 ops.api.rate-limit-v2
permission. 権限/プラン 長期間 permission.pro.export-csv
config. 動的設定 様々 config.ui.items-per-page

ケーシング規則

スタイル 使用タイミング
kebab-case new-checkout-flow 最も一般的、URLフレンドリー
snake_case new_checkout_flow Python/Rubyエコシステムで一般的
camelCase newCheckoutFlow JavaScript/TypeScriptコードベース
dot.notation checkout.new.flow 階層的な名前空間

1つのスタイルを選び、すべてのフラグで一貫して使用してください。

避けるべきアンチパターン

悪い例 理由 良い代替
flag1, test-flag 意味がない release.search.fuzzy-matching
temp-fix-for-bug 曖昧すぎる ops.billing.invoice-retry-fix
johns-experiment 個人固有 experiment.growth.signup-redesign
new-feature 一般的すぎる release.editor.markdown-preview

ユースケース

15のエンジニアリングチームを持つ企業が、300以上のフィーチャーフラグに秩序をもたらすためにフラグ命名規則を採用。release.{team}.{feature}のフォーマットをLintツールで強制し、作成時に非準拠のフラグキーを拒否。1ヶ月以内にフラグの発見可能性が向上し、チームが誤って他のチームのフラグを参照することがなくなった。

試してみる — Feature Flag Config Generator

フルツールを開く