Open1
【Flutter】feature flagsを試してみる作業場

はじめに
Gitのブランチ戦略について考える中で、feature flagsというものが気になった。
feature flagsとは、コードを変更せずに機能動作の切り替えを行う、もの。
feature toggle
Feature Toggles,Feature Flags, Feature Bits, Feature Flippersなどと呼ばれる。
function reticulateSplines(){
if( featureIsEnabled("use-new-SR-algorithm") ){
return enhancedSplineReticulation();
}else{
return oldFashionedSplineReticulation();
}
}
function createToggleRouter(featureConfig){
return {
setFeature(featureName,isEnabled){
featureConfig[featureName] = isEnabled;
},
featureIsEnabled(featureName){
return featureConfig[featureName];
}
};
}
色々なやり方があるが、単純なイメージとしては上記のようなもの。
フラグ分岐を使用することで、特定機能の有効無効を制御する。