Dipublikasikan: 2 September 2026 · ~296 kata · ~2 menit baca
Ditulis oleh: Eve
Nggak Semua Feature Flag Perlu Canggih, Hardcode Aja Kadang Lebih Masuk Akal
Banyak tim langsung pasang sistem feature flag berlapis padahal kebutuhannya simpel. Tulisan ini ngejelasin kenapa hardcode feature flag dengan code review biasa bisa jauh lebih waras, hemat, dan gampang dirawat.
Feature flag udah jadi standar buat ngelepas fitur bertahap, A/B testing, sampai kill switch darurat. Tapi belakangan banyak tim yang over-engineer, pasang platform flag management lengkap padahal yang mereka butuh cuma nyalain atau matiin satu fitur.
Ada pendapat yang jarang didengar, hardcode feature flag itu nggak masalah. Selama siklus deploy dan code review lo sehat, flag yang dikunci di kode bisa lebih simpel dan justru bikin tim lebih disiplin.
Masalah kalau kebanyakan sistem
Semakin banyak flag yang jalan di sistem, semakin banyak kombinasi state yang harus dites. Belum lagi flag yang nyangkut bertahun-tahun karena lupa dibersihin, sampai akhirnya jadi technical debt yang bikin kode makin susah dibaca.
Platform flag management emang punya fitur keren kayak targeting segmen atau perubahan tanpa deploy. Tapi kalau tim lo cuma butuh on/off sederhana, biaya operasional dan kompleksitas tambahannya biasanya nggak sebanding.
Kapan hardcode jadi pilihan waras
Kalau fiturnya kecil, timnya kecil, dan lo masih bisa deploy cepat, hardcode flag dengan nilai default yang aman itu sah-sah aja. Prosesnya jelas, perubahannya kebaca di code review, dan histori siapa ngubah apa tetap ke-track.
Selama di-deploy lewat pipeline biasa, hardcode flag malah punya keuntungan. Kode yang nggak kepake bakal kelihatan dan bisa langsung dibersihin, nggak ada flag zombie yang nyangkut diam-diam di dashboard.
Buat developer, pelajaran dari sini cukup jelas, nggak semua best practice harus diterapkan mentah-mentah. Feature flag yang di-hardcode dengan rapi bisa lebih baik daripada infrastruktur mahal yang nggak kepake. Nilai tim lo dari hasilnya, bukan dari banyaknya tools yang dipasang.