ode Smel

Code Smell ကျနော်တို့ Laptopကိုနာခေါင်းကပ်ပြီး အနံခံဖို့မဟုတ်ပါဘူး။ Code smell ဆိုတာကိုယ့် Code ရဲ့ quality အ‌ခြေ အနေကိုပြောချင်တာပါ။ ဒါပြေမဲ့ Code Smell ဖြစ်နေပြီဆိုရင်တော့သိသာတဲ့အခြေ အနေမို့သိနေမှာပါ ဥပမာအခန်းးကမရှင်းတာကြာလို့နံနေသလိုပေါ့ ။ #Bloaters Code, Method, Classမှာ အလုပ်လုပ်ရတာခက်စေမဲ့ Code Base ကများနေတာမျိုးပါ။ ဥပမာ godzilla လို အကောင်ကြီးတော့ သွားရလာရနှေးသလိုပေါ့။ Codeမှာ Methodေတွ ရှည်ကြီးရေးထာတားမျိုး၊ Class တစ်ခုမှ ပြုတ်သိပ်ပြီးရေးထားတာမျိုး၊ Function တစ်ခုမှာ Parameter List အများကြီးထည့်ထားတာမျိုးပေါ့၊ Data type small type (small integer) နဲ့ရတာကို stringသုံးတာမျိုး၊စသဖြင့်ပေါ။ #Object-Orientation Abusers OOPနဲ့ရေးတယ်ဒါပေမဲ့ OOP အပြည့်အဝမဟုတ်တော့ ဘဲမပြည့်မစုံ တဲ့ OOP ဖြစ်ကုန်တာမျိုးပေါ့ ။ ဥပမာ အတူတဲ့ class တွေinterface ကိုရောပစ်တာမျိုး၊ ရုပ်ထွေးတဲ့switch / if တွေလုပ်ထားတာမျိုး။စသဖြင့်ပေါ။ #Change Preventers Code smellဖြစ်ပါတယ် Codeတွေက ပြောင်းလဲရခက်တဲ့အခါ။ ရေးထားတဲ့Codeက အရမ်းအချင်းချင်းမှီခိုနေတာမျိုးဆို။ တစ်ခုပြောင်းဖို့အတွက်နေရာပေါင်းများစွာပြောင်းနေရတာမျိုးဆိုရင်ပေါ့။ ဥပမာ same value ဖြစ်တဲ့ variable အစား အသစ်တွေအများကြီးသုံးထားတာမျို၊ inheritance ကို paralel ရှိနေတာမျိုး၊ တစ်ခုပြင်ဖို့အတွက် classနေရာအစုံမှာသေးသေးလေးတွေများကြီးလိုက်ပြင်ရတာမျိုးပေါ။ #Dispensables အသုံးမဝင်တော့ မလိုတော့တဲ့ Codeတွေကို ရှင်းဖို့ optimize လုပ်ဖို့ များလာတဲ့အခါ Code Smellရလာပါတယ်။ အခန်းမရှင်းတဲ့အဖွဲ့တေွ ပေါ့ မလိုတာလေးတွေလဲ အမှတ် တရဆိုပြီးသိမ်းထားတာမျိုး ပေါ့။ Comments ကိုစနစ်စကျမရေးပဲ ရည်းစားစာလို့ တောင်‌ရောက်‌မြောက်ရောက် အ များကြီးရေးထားတာမျိုး၊ Duplicate ဖြစ်တဲ့ codeတွေများနေတာမျိုး၊ Class ကိုယ် တိုင်မသုံးတဲ့ တခြားc lassအတွက် Data ကို classထဲမှာရှိနေတာမျိုး bfရှိတဲံ့ crush ကိုမှသိမ်းထားတာမျိုးပေါ့ ၊ Dead codeလိုခေါ်တဲ့ ဘယ်တော့မှ မသုံးတဲ့ Codeတွေ class, parameterစတာတွေကို မဖယ်ပစ်တာမျိုး၊ Lazy class ဖြစ်တဲ့ အရင်ကတော့အသုံးဝင်တယ်အခုအသုံးမဝင်တ‌ော့ဘူးသင့်အတွက် ဆွဲဆောင်မူမရှိတော့ဘူးဆို ဖတ်ပစ်ရမယ်ဒါပေမဲ့ရှိနေတာမျိုး၊ စသဖြင့်ပေါ့။ #Couplers Classတွေ Funcitonတွေကို အများကြီးတွဲပေးထားတာမျိုးကိုပြောချင်တာပါ ဒါကလဲ Code smell ဖြစ်စေပါတယ်။ အရမ်းချိတ်ဆက်နေအောင်ရေးထားတဲ့အခါ Field တစ်ခု ကို data class ထဲရွှေ့ ချင်ရင်တောင် operationတစ်ခုလုံးကို ရွေ့ ရမဲ့အနေမထားဖြစ်နေတာမျိုးပေါ့။ Field, methods က တခြား classတွေကိုမှီခိုနေတာမျိုး။ Incoplete Library class သင်သုံးနေတဲ့ library က လိုအပ်တဲ့ feature ကို မပေးတော့တဲ့အခါမျိုးပေါ့၊ Middle manရှိနေတာမျိုး action အတွက် တိုက်ရိုက် ရေးလို့ရတာကို ကြားခံ class method တစ်ခုရှိနေတာမျိုးပေါ၊ Message Chain object varible တစ်ခုကတော့ ၄ ဆင့် ၅ဆင့်လောက် sub funciton class ပြီးမှ resultတစ်ခု ထွက်တာမျိုးပေါ့။ ဟုတ်ပါပြီဒီနေ့တော့ ကိုရေးထားတဲ့ Code Smell ထွက်မထွက်သိရပြီပေါ့ သဘောတရားတော့ ကိုယ့် Code ကိုပြန်ကြည့်ပါ Code smell ရနေပြီလားဆိုတော့။ Clean Code, Code Smellကိုဘယ်လိုရှင်းရမလဲစတာတွေကို နောက်ပိုင်းရေးပေးပါမယ်။ Facebook မှာရော Telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။Facebook page ၊ telegram channel နဲ့ Youtube Channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ Facebook - @callmedevbypeter Telegram - @callmedevbypeter Youtube - Call Me Dev by Peter သိချင်တဲ့အကြောင်းအရာရှိရင် comment မှာရေးသွားပါဗျ။ Thanks you ပါ။ #callmedevbypeter #code_smell #web_development

blog

ode Smel

Code Smell ကျနော်တို့ Laptopကိုနာခေါင်းကပ်ပြီး အနံခံဖို့မဟုတ်ပါဘူး။ Code smell ဆိုတာကိုယ့် Code ရဲ့ quality အ‌ခြေ အနေကိုပြောချင်တာပါ။ ဒါပြေမဲ့ Code Smell ဖြစ်နေပြီဆိုရင်တော့သိသာတဲ့အခြေ အနေမို့သိနေမှာပါ ဥပမာအခန်းးကမရှင်းတာကြာလို့နံနေသလိုပေါ့ ။ #Bloaters Code, Method, Classမှာ အလုပ်လုပ်ရတာခက်စေမဲ့ Code Base ကများနေတာမျိုးပါ။ ဥပမာ godzilla လို အကောင်ကြီးတော့ သွားရလာရနှေးသလိုပေါ့။ Codeမှာ Methodေတွ ရှည်ကြီးရေးထာတားမျိုး၊ Class တစ်ခုမှ ပြုတ်သိပ်ပြီးရေးထားတာမျိုး၊ Function တစ်ခုမှာ Parameter List အများကြီးထည့်ထားတာမျိုးပေါ့၊ Data type small type (small integer) နဲ့ရတာကို stringသုံးတာမျိုး၊စသဖြင့်ပေါ။ #Object-Orientation Abusers OOPနဲ့ရေးတယ်ဒါပေမဲ့ OOP အပြည့်အဝမဟုတ်တော့ ဘဲမပြည့်မစုံ တဲ့ OOP ဖြစ်ကုန်တာမျိုးပေါ့ ။ ဥပမာ အတူတဲ့ class တွေinterface ကိုရောပစ်တာမျိုး၊ ရုပ်ထွေးတဲ့switch / if တွေလုပ်ထားတာမျိုး။စသဖြင့်ပေါ။ #Change Preventers Code smellဖြစ်ပါတယ် Codeတွေက ပြောင်းလဲရခက်တဲ့အခါ။ ရေးထားတဲ့Codeက အရမ်းအချင်းချင်းမှီခိုနေတာမျိုးဆို။ တစ်ခုပြောင်းဖို့အတွက်နေရာပေါင်းများစွာပြောင်းနေရတာမျိုးဆိုရင်ပေါ့။ ဥပမာ same value ဖြစ်တဲ့ variable အစား အသစ်တွေအများကြီးသုံးထားတာမျို၊ inheritance ကို paralel ရှိနေတာမျိုး၊ တစ်ခုပြင်ဖို့အတွက် classနေရာအစုံမှာသေးသေးလေးတွေများကြီးလိုက်ပြင်ရတာမျိုးပေါ။ #Dispensables အသုံးမဝင်တော့ မလိုတော့တဲ့ Codeတွေကို ရှင်းဖို့ optimize လုပ်ဖို့ များလာတဲ့အခါ Code Smellရလာပါတယ်။ အခန်းမရှင်းတဲ့အဖွဲ့တေွ ပေါ့ မလိုတာလေးတွေလဲ အမှတ် တရဆိုပြီးသိမ်းထားတာမျိုး ပေါ့။ Comments ကိုစနစ်စကျမရေးပဲ ရည်းစားစာလို့ တောင်‌ရောက်‌မြောက်ရောက် အ များကြီးရေးထားတာမျိုး၊ Duplicate ဖြစ်တဲ့ codeတွေများနေတာမျိုး၊ Class ကိုယ် တိုင်မသုံးတဲ့ တခြားc lassအတွက် Data ကို classထဲမှာရှိနေတာမျိုး bfရှိတဲံ့ crush ကိုမှသိမ်းထားတာမျိုးပေါ့ ၊ Dead codeလိုခေါ်တဲ့ ဘယ်တော့မှ မသုံးတဲ့ Codeတွေ class, parameterစတာတွေကို မဖယ်ပစ်တာမျိုး၊ Lazy class ဖြစ်တဲ့ အရင်ကတော့အသုံးဝင်တယ်အခုအသုံးမဝင်တ‌ော့ဘူးသင့်အတွက် ဆွဲဆောင်မူမရှိတော့ဘူးဆို ဖတ်ပစ်ရမယ်ဒါပေမဲ့ရှိနေတာမျိုး၊ စသဖြင့်ပေါ့။ #Couplers Classတွေ Funcitonတွေကို အများကြီးတွဲပေးထားတာမျိုးကိုပြောချင်တာပါ ဒါကလဲ Code smell ဖြစ်စေပါတယ်။ အရမ်းချိတ်ဆက်နေအောင်ရေးထားတဲ့အခါ Field တစ်ခု ကို data class ထဲရွှေ့ ချင်ရင်တောင် operationတစ်ခုလုံးကို ရွေ့ ရမဲ့အနေမထားဖြစ်နေတာမျိုးပေါ့။ Field, methods က တခြား classတွေကိုမှီခိုနေတာမျိုး။ Incoplete Library class သင်သုံးနေတဲ့ library က လိုအပ်တဲ့ feature ကို မပေးတော့တဲ့အခါမျိုးပေါ့၊ Middle manရှိနေတာမျိုး action အတွက် တိုက်ရိုက် ရေးလို့ရတာကို ကြားခံ class method တစ်ခုရှိနေတာမျိုးပေါ၊ Message Chain object varible တစ်ခုကတော့ ၄ ဆင့် ၅ဆင့်လောက် sub funciton class ပြီးမှ resultတစ်ခု ထွက်တာမျိုးပေါ့။ ဟုတ်ပါပြီဒီနေ့တော့ ကိုရေးထားတဲ့ Code Smell ထွက်မထွက်သိရပြီပေါ့ သဘောတရားတော့ ကိုယ့် Code ကိုပြန်ကြည့်ပါ Code smell ရနေပြီလားဆိုတော့။ Clean Code, Code Smellကိုဘယ်လိုရှင်းရမလဲစတာတွေကို နောက်ပိုင်းရေးပေးပါမယ်။ Facebook မှာရော Telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။Facebook page ၊ telegram channel နဲ့ Youtube Channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ Facebook - @callmedevbypeter Telegram - @callmedevbypeter Youtube - Call Me Dev by Peter သိချင်တဲ့အကြောင်းအရာရှိရင် comment မှာရေးသွားပါဗျ။ Thanks you ပါ။ #callmedevbypeter #code_smell #web_development

Call Me Dev by Peter Logo

CallMeDevbyPeter

Since 2022