Özellik bayrakları (feature flags) ile ilgili bilgi sahibi olduğunuzu varsayıyorum ve konunun ne olduğuna burada girmeyeceğim. Onun yerine, özellik bayraklarını nasıl kullandığımı anlatacağım.


Bir özellik bayrağının sistemden tamamen kaldırılması güvenli olmalıdır. Yani bu gibi durumlarda uygulama kodunda herhangi bir değişiklik yapmamıza gerek kalmadan, uygulamamız varsayılan davranışına geri dönmelidir. Kendi kendinize her zaman şu soruyu sormanız gerekir: "Varsayılan olarak bu özellik aktif mi, yoksa pasif mi?"


Örnek


"Süper yönetici girişi" özelliğine sahip bir web siteniz var. Süper bir yönetici giriş yaptıktan sonra sitede her şeyi yapabilir. Bunun "varsayılan" davranış olduğunu varsayalım ve de bu yüzden ilk etapta uygulandığını kabullenelim. Bu özelliği bir özellik bayrağı ile kontrol etmek istersek, aşağıda gösterildiği gibi yaparız.


// This is the feature flag.
SUPER_ADMIN_LOGIN_ENABLED: true

// This is the code that depends on the feature flag in login file.
if (ENABLE_SUPER_ADMIN_LOGIN == false) {
echo "super admin login has been disabled"
exit;
} else { // null (absence) or true
echo "super admin login has been enabled"
continue;
}

Yukarıda da görebileceğiniz gibi, özellik bayrağını kaldırırsanız, sisteminiz super admin login has been enabled (süper yönetici girişi etkinleştirildi) olan "kabul edilmiş/varsayılan" davranışa geri dönecektir.