သတိထားရမည့် အမှားများ & Best Practices
၁။ အရမ်းရှုပ်ထွေးတဲ့ Generics များ
Section titled “၁။ အရမ်းရှုပ်ထွေးတဲ့ Generics များ”- အမှား: Generics တွေဟာ တစ်ခါတလေမှာ အရမ်းနက်ရှိုင်းပြီး ရှုပ်ထွေးသွားနိုင်တယ်။ ဥပမာ
ProcessResult\<T extends BaseItem\<U, K>, U extends DataFormat\<K>, K extends keyof Configs>
လိုမျိုး ရေးမိရင် ဖတ်ဖို့နဲ့ error ရှာဖို့ အရမ်းခက်ခဲစေတယ်။ - အကောင်းဆုံး လုပ်ဆောင်ရမည့် နည်းလမ်း:
- Type Parameters (Generics) တွေကို နာမည်ပေးတဲ့အခါ ရှင်းရှင်းလင်းလင်း နာမည်ပေးပါ။ (ဥပမာ -
TResponse
,TError
စသဖြင့်ပေါ့၊T, U, V
လို ရိုးရိုးလေး မဟုတ်ဘဲ) - အရမ်းရှုပ်ထွေးတဲ့
Generic Types
တွေကို helper Type တွေအဖြစ် ခွဲထုတ်ပါ။ comments
တွေ ထည့်ပြီး ကိုယ်ရေးထားတဲ့Generic Types
တွေရဲ့ ရည်ရွယ်ချက်နဲ့ ကန့်သတ်ချက်တွေကို ရှင်းပြပါ။- တစ်ခါတလေမှာ အရမ်း
Generic
မဖြစ်ပေမယ့် ဖတ်လို့ ပိုလွယ်တဲ့ နည်းလမ်းကို ရွေးတာက ပိုကောင်းနိုင်ပါတယ်။
- Type Parameters (Generics) တွေကို နာမည်ပေးတဲ့အခါ ရှင်းရှင်းလင်းလင်း နာမည်ပေးပါ။ (ဥပမာ -
၂။ အသေးစိတ် အချက်အလက်တွေ မသိလိုက်ဘဲ ပျောက်ဆုံးသွားခြင်း
Section titled “၂။ အသေးစိတ် အချက်အလက်တွေ မသိလိုက်ဘဲ ပျောက်ဆုံးသွားခြင်း”- အမှား: လိုအပ်တဲ့ Type ရဲ့ အသေးစိတ် အချက်အလက်တွေကို မသိလိုက်ဘဲ ပိုကျယ်ပြန့်တဲ့ Type နဲ့ သွားသတ်မှတ်မိတာမျိုးပါ။
- အကောင်းဆုံး လုပ်ဆောင်ရမည့် နည်းလမ်း:
- satisfies ကို အသုံးပြုပါ။ ဒါမှ ပိုကျယ်ပြန့်တဲ့ Type နဲ့ ကိုက်ညီလားဆိုတာ စစ်ဆေးရင်းနဲ့၊ မူရင်း Type ရဲ့ အသေးစိတ် အချက်အလက်တွေကိုပါ ဆက်ထိန်းထားနိုင်မှာပါ။
၃။ any
ကို အလွယ်တကူ အသုံးပြုခြင်း
Section titled “၃။ any ကို အလွယ်တကူ အသုံးပြုခြင်း”- အမှား: Type တွေ ရှုပ်ထွေးလာတဲ့အခါ Compiler ရဲ့ Error တွေကို ပိတ်ဖို့အတွက်
any
ကို အလွယ်တကူ သုံးမိတတ်တယ်။ ဒါက Type Safety (Type မှန်ကန်မှု) ကို စွန့်လွှတ်လိုက်တာနဲ့ တူတယ်။ - အကောင်းဆုံး လုပ်ဆောင်ရမည့် နည်းလမ်း:
- Type တွေကို မှန်ကန်အောင် ရေးဖို့ ကြိုးစားပါ။
- တကယ်ကို Type မသိနိုင်တဲ့ တန်ဖိုးတွေအတွက်
unknown
ကို သုံးပါ။ ပြီးတော့မှ Program အလုပ်လုပ်နေချိန်မှာ Type တွေကို ထပ်စစ်ဆေးတာ ဒါမှမဟုတ်type narrowing
လုပ်ပါ။ // @ts-expect-error
ဒါမှမဟုတ်// @ts-ignore
ကို အရမ်းလိုအပ်မှသာ သုံးပြီး၊ ဘာကြောင့် သုံးလဲဆိုတာကို ရှင်းရှင်းလင်းလင်း ရေးသားပါ။
၄။ ရှုပ်ထွေးတဲ့ Type တွေကို Debugging လုပ်ခြင်း
Section titled “၄။ ရှုပ်ထွေးတဲ့ Type တွေကို Debugging လုပ်ခြင်း”-
အကြံပြုချက်:
-
သင့်ရဲ့ IDE (ဥပမာ VS Code) က အကောင်းဆုံး သူငယ်ချင်းပါ။ Variables တွေနဲ့ Types တွေပေါ်မှာ Mouse ကို တင်ကြည့်ပါ။ TypeScript က ဘာ Type လို့ မှတ်ယူထားလဲဆိုတာ မြင်ရပါလိမ့်မယ်။
-
ရှုပ်ထွေးတဲ့ Type တွေကို ပြောင်းလဲတဲ့အခါ အဆင့်ဆင့် ခွဲပြီး စစ်ဆေးဖို့အတွက် ကြားခံ Type (Type Alias) တွေ ဖန်တီးကြည့်ပါ။
User.ts type KeysOfUser = keyof User; // ဒီ Type ကို Mouse တင်ပြီး User ရဲ့ keys တွေကို ကြည့်ပါ။type PartialUser = Partial<User>; // ဒီ Type ကို Mouse တင်ပြီး ပြောင်းလဲသွားတဲ့ Type ပုံစံကို ကြည့်ပါ။ -
ရှုပ်ထွေးတဲ့ Type တစ်ခုက မျှော်လင့်ထားသလို အလုပ်မလုပ်ရင်၊ အဲဒါကို ရိုးရှင်းအောင် အရင်လုပ်ပါ။ ပြီးရင် အလုပ်လုပ်တဲ့အထိ အစိတ်အပိုင်းတွေကို ဖြုတ်ချပြီး၊ တစ်ခုချင်းစီ ပြန်ထည့်ရင်း ဘယ်နေရာမှာ ပြဿနာရှိလဲဆိုတာ ရှာပါ။
-