11/5/2023

Destructive side effect

Pure functional programming or pure functional paradigm ကိုသုံးထားတဲ့ programming တွေမှာ side effect ဖြစ်စေနိုင်တဲ့ destructive assignment လိုကောင်တွေကို ရေးလို့ မရပါဘူးတဲ့။ဆိုတော့ Destructive side effect ဆိုတာဘာလဲပေါ့။ကျွန်တော်တို့မှာ Array ဒါမှ မဟုတ် List တစ်ခု ရှိတယ် ဆိုပါစို့။ အဲ့ Array or List ရဲ့ value ကို function local scop ရဲ့ အပြင်မှာ original value ကို change လိုက်ပြီဆိုတာနဲ့ destructive side effect ဖြစ်သွားပါပီ။Destructive side effect ဖြစ်နေရင် ဘာတွေဖြစ်လာနိုင်မလဲဆိုတော့

  1. maintainese ပိုင်းကျရင် လုပ်ရတာ ပို ခက်ခဲလာတာမျိုး၊
  2. Large and complex codebase တွေမှာ ဆိုရင် Debugging လုပ်ဖို့ခက်ခဲလာတာမျိုး၊
  3. Code reusability မဖြစ်တော့တာမျိုး etc.
    ဖြစ်လာနိုင်ပါတယ်။

ဒါကတော့ destructive side effect ဖြစ်နေတဲ့ code ပါ။ original value ကို function local scope အပြင်မှာ
change လိုက်ဝောာ့ destructive side effect ဖြစ်သွားတာ။


ဒါကတော့ destructive side effect ကို avoid လုပ်ထားတဲ့ code ပါ။ နဂို မူလ value ကို မ change ဘဲ နဲ့
နောက် ထပ် array တစ်ခုထဲ ထည့်လိုက်ပြီးမှ အဲ့ array ကို manipulate လုပ်တဲ့ သဘောမျိုး။