Configcatの機能フラグに従うベストプラクティス


ConfigCatの機能を操作する方法を学びたいですか?あなたは適切な場所に来ている!ConfigCatでフィーチャーフラグを管理するとき、いくつかの良い実行を使用する利点を見てみましょう.

機能フラグについて少し


あなたはおそらく前に機能フラグや機能のトグルの概念について聞いたことがあるが、それは本当に迅速に要約しましょう.機能フラグは、アプリケーションの特定の部分を有効にして、無効にするためのスイッチとして機能する.
例えば、会社は機能的な旗を特定の人口統計学またはユーザーグループに実験機能の使用を制限するために使うことができます.

ベストプラクティス


コンフィグfeature flag management system 用途が広く広く利用可能です.これは、さまざまな技術を使用して設定することができますConfigCat's Docs ). このサービスで働くとき、最も良いアプローチが何であるかについて見てみましょう.私の例はJavascriptにありますが、他のほとんどの言語ではまだ関係があります.

命名規則とソート


ケーススタイル


好みによって、命名規則は会社から会社に変わるかもしれません.開発チームは、フラグの名前のケースを一貫性の維持から恩恵を受けるでしょう.これにより、あなたが探しているフラグを見つけるか、新しいフラグを追加することが容易になります.
たとえば、開いたときに表示される最初の機能フラグConfigCat dashboard しかし、それは唯一のオプションではない.また、SnakeRoundケース、pascalcase、またはkebabのケースを使用することができます(“できる”しかし、“それは”他のみんなのようなcamelcaseを使用するように助言されていることを意味しない).また、任意の誤解や時間を特定のフラグを検索無駄に避けるためにあなたの旗を示唆的な名前を与えます.

スペースソート


大きなアプリでは、おそらく機能フラグの数が多いでしょう.あなたが他のものより重要である旗を持っていると言いましょう、そして、あなたは常にダッシュボード機能旗リストのトップでその権利を持ちたいです.それを達成するために、あなたはスペース文字で旗の名前をこっそり始めることができます、そして、それはASCII character order .

機能フラグタグ


フラグの選択をグループ化するには、単にグループにしたい各フラグの横にある+タグボタンをクリックします.今、あなたはそれを検索するときに、特定のタグに関連付けられているすべてのフラグを参照することができます.あなたはそれを行うことができますjiffy.

旗を見る


ユーザーはConfigCatでフラグを見るオプションを切り替えることができます.フラグを見るとき、フラグが特定の時間のためにアクティブでない場合は、電子メール通知を受信します.時計\/unwatchボタンの横にある小さなゾンビのアイコンをクリックすると、また、時間間隔と他の便利な設定のカップルを設定することができます.ブラウアース!

SDKキーを安全に保つ


おそらく、公式文書で何か同様のものを見てきたでしょう.以下に示す方法でConfigCatClientを作成することはAPIを知ることにとって素晴らしいです、そして、それは完全によく働きます.
var configCatClient = configcat.createClient("#YOUR-SDK-KEY#");
安全性理由のために、ソースコードで利用できない定数(YourSDKKey)でSDKキーストリングを保存するほうがよいです.つの適切なオプションが含まれているファイルに格納されます.gitignoreそれがアクセスできないようにするためにクライアント側ではなくバックエンドに格納するのも良い解決策です.
var configCatClient = configcat.createClient(yourSdkKey);

フラグ設定


SDKキーに加えて、クライアントを作成するときにいくつかのオプションパラメータを渡すことができます.それらのうちの1つはpollintervalsecondsです.それはどのように頻繁に機能フラグ値の更新をチェックする必要がありますあなたのアプリに指示します.あなたは時間が取引や賭けアプリのような本質のアプリを開発している場合は、あなたはかなり頻繁にあなたの機能フラグ値をチェックしたいと思います.このチェック間隔のデフォルト値は60秒です.

ユーザーターゲティング


ターゲットのユーザーは便利なときにあなたの機能を特定の視聴者にのみ利用できるようになります.コードの複雑なチェックを行うのではなく、それが対象とするユーザと共にフラグの値を得ることができます.getValue関数にパラメータとして渡すことができるユーザオブジェクトの例を示します.
var userObject = {
  identifier: "1234",
  email: "[email protected]",
  country: "Indonesia",
  custom: {
    subscriptionType: "Pro",
    userRole: "Administrator",
  },
};

クリーンコード


上記のコード例でわかるように、ユーザーオプションをオブジェクトに格納することを選択しました.長いオブジェクトの代わりに関数パラメータを渡すと、読みやすさが向上します.
同様に、フラグの値を取得するときにこの概念を適用できます.機能フラグ値が変わるとき、あなたが何かをしたいと言いましょう.GetValue内で実行する必要のあるコードをすべて記述するのではなく、別の関数に移動できます.
configCatClient.getValue("isMyFirstFeatureEnabled", false, (flagValue) => {
  if (flagValue) {
    doSomething();
  } else {
    doSomethingElse();
  }
});

結論


きれいなコードを書く、ネーミングスキームに従うフラグ、および適切な構成は、あなたの仕事をより効果的にするために長い道のりを行くことができます.ここで提供されるヒントは、ちょうど提案です、そして、彼らは決して必須でありません.彼らは、彼らのプロジェクトで機能旗で働いている誰のためにでも少し生命を簡単にすることを目指します.
ConfigCat onをチェックアウトできます.Facebook , とページ.