Fitur Toggle, Teknik Untuk Memodifikasi Sistem Tanpa Mengubah Kode.

Fitur Toggle, Teknik Untuk Memodifikasi Sistem Tanpa Mengubah Kode.

Fitur Toggles (sering juga disebut sebagai Fitur Flag) adalah teknik ampuh yang memungkinkan setip orang dalam tim untuk dapat memodifikasi perilaku sebuah sistem applikasi tanpa mengubah kode dasarnya. Terbagi dalam berbagai kategori penggunaan dan sangat penting untuk kita bisa memilih tempat yang tepat untuk dapat menerapkan fiture toggles.


Fiture Toggles digunakan ketika kode yang ada sudah rumit, dan kita diharuskan menambah fitur baru di tengah-tengah kode tersebut, dengan menggunakan Fitur Toggles kita dapat lebih mudah mengatur perubahan dari setiap kode yang kita buat dan mematikan kode tersebut ketika terdapat perubahan atau perbaikan pada bisnis prosesnya.


Terdapat beberapa kasus dimana Fiture Toggles akan sangat membantu dalam Pengembangan atau Pembuatan sebuah applikasi, Selain Itu Fitur Toggles juga sering di sebut Fitur Flags, Fitur Bits, atau Fitur Flippers.


Buat Apa Fitur Toggles ?


Bayangkan jika di dalam tim anda sedang mengerjakan sebuah project yang sudah masuk masa production, lalu user meminta berbagai fitur baru yang harus mengubah sistem yang sudah ada dan di saat yang sama orang di dalam tim anda sedang melakukan perbaikan di dalam kode yang sama dengan yang anda kerjakan.

Dalam kondisi tersebut fitur baru yang akan anda kerjakan diharuskan untuk tidak mempengaruhi kode yang sudah ada, agar tidak mengganggu basis kode yang sedang di lakukan perbaikan anda di tuntut untuk membuat berbagai percabangan sehingga kemungkinan akan terdapat berbagai conflict dan membuat pelacakan error menjadi lebih sulit dan rumit.


Untuk menghidari berbagai percabangan tersebut kita bisa membuat sebuah fiture toggles dengan membuat variabel true atau false, lalu kita bisa membuat sebuah fungsi baru yang akan berjalan jika fitur toggles di aktifkan.


Contoh myFeature dengan JavaScript ES2015 :


  function myFeature(){
    var useNewAlgorithm = false;
    // useNewAlgorithm = true; // UNCOMMENT IF YOU ARE WORKING ON THE NEW SR ALGORITHM
  
    if( useNewAlgorithm ){
      return enhancedMyFeature();
    }else{
      return oldFashionedMyFeature();
    }
  }
  
  function oldFashionedMyFeature(){
    // current implementation lives here
  }
  
  function enhancedMyFeature(){
    // TODO: implement better SR algorithm
  }


Dengan menggunakan fiture toggles ini kita bisa mengubah proses untuk menggunakan kode yang baru atau tetap menggunakan kode yang sudah ada.



Membuat Fitur Toggles Menjadi Lebih Dinamis


Setelah kita mengetahui dasar proses dari cara kerja fitur toogles, sekarang kita bisa melanjutkan dengan membuatnya lebih dinamis sehingga kita tidak perlu melakukan comment/uncomment di dalam sebuah kode.


function myFeature(){
  if( featureIsEnabled("use-new-SR-algorithm") ){
    return enhancedMyFeature();
  }else{
    return oldFashionedMyFeature();
  }
}


Sekarang kita bisa menggunakan fungsi featureIsEnable(), fungsi ini berguna untuk mengontrol secara dinamis alur kode mana yang digunakan, terdapat berbagai macam cara untuk mengimplementasikan toggles routes ini, dimulai dengan menyimpan nya secara sederhana di dalam memory atau dengan mengguakan UI di dalam applikasi untuk mengaktifkan nya.


Contoh cara kerja menggunakan Fitur Toggles di dalam memory :

function createToggleRouter(featureConfig){
  return {
    setFeature(featureName,isEnabled){
      featureConfig[featureName] = isEnabled;
    },
    featureIsEnabled(featureName){
      return featureConfig[featureName];
    }
  };
}


Dengan fungsi toggle route ini kita bisa melakukan setting dan mengontrol fungsi alur kode yang mana yang akan digunakan.


pinterusaha.ai, friendly business platform for MSME's


Wellcode.io Team

Leading high-tech Indonesia Startup Digital - which serves the community with revolutionary products, system development, and information technology infrastructure


You May Also Like

Belajar Startup Dari Benjamin Abraham Horowitz (Ben Horowitz) – “How To Manage”Business

Belajar Startup dari Benjamin Abraham Horowitz (Ben Horowitz) – “How to Manage”

Kirsty Nathoo, Carolynn Levy   Dasar Hukum Dan Keuangan Dalam Membangun StartupBusiness

Kirsty Nathoo, Carolynn Levy - Dasar Hukum dan Keuangan dalam Membangun Startup

Teknik Teknik Penjualan Dan Pemasaran: Tyler BosmenyBusiness

Teknik-teknik Penjualan dan Pemasaran: Tyler Bosmeny

Mengoperasikan Perusahaan: Keith Rabois – Executive Pay Pal, Linked In, Slide, Dan SquareBusiness

Mengoperasikan perusahaan: Keith Rabois – Executive PayPal, LinkedIn, Slide, dan Square

Membentuk Budaya Perusahaan Dan Team Terbaik: Alfred Lin & Brian CheskyBusiness

Membentuk Budaya Perusahaan dan Team Terbaik: Alfred Lin & Brian Chesky

Leave a Comment (0)