Programming ကို စလေ့လာပြီဆိုရင် ကိုယ်သိထားတာတွေကို သေချာ သဘောပေါက် နားလည်နိုင်အောင် လက်တွေ့ရေးကြည့်ဖို့ လိုပါတယ်။ လက်တွေ့ရေးတဲ့နေရာမှာလည်း Topic တစ်ခုစီကို လေ့ကျင့်တာထက် Concept တွေ
အကုန်လုံးကို ပေါင်းပြီး အသုံးပြုရတဲ့ကိုယ်ပိုင် Project တွေ၊ ဂိမ်းတွေ ‌ရေးတာက ပိုပြီး အကျိုးရှိပါတယ်။ အထူးသဖြင့် Beginner တွေအတွက် အကောင်းဆုံးသင်ယူမှု ပုံစံက ကိုယ်ပိုင် Project တွေ ရေးတာပါပဲ။ Project တွေရေးရင်း ကိုယ်သိပြီးသားတွေကို ပိုနားလည်လာနိုင်သလို ကိုယ်မသိသေးတဲ့ အရာတွေကိုလည်း လေ့လာပြီးသား ဖြစ်စေပါတယ်။  ဒီလို Project တွေ ‌ရေးတဲ့ အခါမှာ လိုအပ်တဲ့ အဆင့်တွေကို ပြောပြပေးပါမယ်။

1. Project Structure

အရင်ဆုံး ကိုယ်က ဘာရေးချင်တယ်ဆိုတာကို သေချာသိရပါမယ်။ စာရွက်ပေါ်မှာ Project ရဲ့ ဖွဲ့စည်းပုံ အကြမ်းဖျင်းကို ချရေးကြည့်ပါ။ Project က ဘယ်လို အလုပ်လုပ်ရမယ် ဆိုတာကို သေချာပုံဖော်ကြည့်ပါ။ ကိုယ့် Project တစ်ခုလုံးအတွက် Tutorial ရှာဖို့ဆိုတာ မလွယ်ပါဘူး။ ဒါပေမယ့် ကိုယ်သုံးချင်တဲ့ အပိုင်းတစ်ပိုင်းချင်းစီကို ရှာပြီးလေ့လာရတာက ပိုလွယ်ပါတယ်။ ဒါကြောင့် Project ကို တစ်ခုလုံးအနေနဲ့ မကြည့်ပဲ အပိုင်းတွေ ခွဲလိုက်ပါ။ ဒါမှ ကိုယ်သိထားတဲ့ အပိုင်းတွေနဲ့ ဘာတွေထပ်ပြီး လိုအပ်တယ်ဆိုတာကို သိလာမှာပါ။ Website တစ်ခုရေးတော့မယ်ဆိုရင် Header မှာ ဘာတွေထည့်မှာလဲ၊ Side Bar ထဲမှာ ဘာတွေပါမှာလဲ စတဲ့ အပိုင်းတစ်ခုချင်းစီမှာ ထည့်ချင်တဲ့အရာတွေကို သေချာခွဲထားရပါမယ်။ ဒီအဆင့်က ပထမဆုံးနဲ့ အရေးအကြီးဆုံး အဆင့်ပါ။ ကိုယ်ဘာလုပ်ချင်တာကို သေချာမသိပဲနဲ့ Project စလိုက်ပြီဆိုရင် တစ်နေရာရာမှာပဲ အဆုံးသတ်သွားမှာပါ။ ဒါပေမယ့် ဒီအဆင့်မှာပဲ အချိန်တွေ အကြာကြီးမကုန်သင့်ပါဘူး။ ကိုယ်သွားရမယ့် လမ်းကြောင်းကို သိရင် Project ကို စရေးလို့ရပါပြီ။

2. First Line Of Code

Project က ဘယ်လိုအလုပ်လုပ်ရမယ် ဆိုတာကို ဆုံးဖြတ်ပြီးတာနဲ့ အရေးကြီးတဲ့ အချက်က ပထမဆုံးကုဒ်ကို စရေးဖို့ပါ။ Project အများစုဟာ ဒီအဆင့်ကိုတောင် မရောက်လိုက်ပဲ ဘယ်လိုစရမယ်ဆိုတာကို အကြံထုတ်ရင်း လေထဲမှာတင် ပျောက်ကွယ်သွားတတ်ပါတယ်။ Project ကို မစရခင်မှာ ဘာကို ဘယ်လိုလုပ်ရမလဲ၊ဘယ်ကနေ စရေးရမလဲ ဆိုတာတွေက အမြဲတမ်း ရှုပ်ထွေးနေမှာပါပဲ။ ဒါတွေကို တွေးပူမနေပဲ Code Editor တစ်ခုကို ဖွင့်ပြီး ဘာဆက်ရေးရမယ်ဆိုတာကို မသိတော့တဲ့အထိ ကုဒ်တွေကို စရေးလိုက်ပါ။ ကိုယ်ပထမဆုံးရေးထားတာတွေကို ပြန်ပြင်တာတွေ၊ လိုအပ်ရင် ပြန်ဖျက်တာတွေ လုပ်ရပါလိမ့်မယ်။ ဒါတွေက အရေးမကြီးပါဘူး။ အဓိကက ကိုယ့် Project ကို အချိန်မဆွဲပဲ စရေးဖို့ပါ။ ကိုယ်မ‌ရေးတတ်တော့မှ လိုအပ်တာတွေကို ဆက်ပြီးလေ့လာပါ။ ကုဒ်စမရေးရခင်မှာ အကုန်လုံးကို သိထားစရာမလိုပါဘူး။

3. Shoulders Of Giants

Project တစ်ခုရေးပြီဆိုရင် Program တစ်ခုလုံးကို အစကနေ ကိုယ်တိုင်ရေးစရာမလိုပါဘူး။ Project တည်ဆောက်ဖို့ အခြေခံလိုအပ်တာတွေကို အစကနေ လိုက်ရေးနေမယ်ဆိုရင် အချိန်ကြာပြီး ကိုယ်ရေးမယ့် Project အပေါ်ကို အာရုံမစိုက်နိုင်ပဲ ဖြစ်တတ်ပါတယ်။ ဒါကြောင့် အရင်ဆုံး ကိုယ့် Project နဲ့ ပုံစံတူ တစ်ခြား Project တွေကို လိုက်လေ့လာပါ။ တစ်ခြားသူ သုံးထားတဲ့ Source code ကို တိုက်ရိုက်ကူးသုံးဖို့ မဟုတ်ပါဘူး။ သူတို့ထဲမှာ Feature တစ်ခုကို ဘယ်လိုသုံးထားလဲ၊ ကိုယ့်အတွက် ဘယ်လို သုံးလို့ရနိုင်မလဲဆိုတာကို ကြည့်ပါ။ သူတို့ရေးထားတဲ့ သ‌ဘောတရားကို နားလည်တယ်ဆိုရင် ကိုယ်လိုအပ်သလို ပြန်ပြင်သုံးလို့ရပါတယ်။ ဒီလို ကိုယ်ရှေ့ကလူတွေ ရေးထားတဲ့ ကုဒ်ကို အခြေခံပြီး ပိုကောင်းအောင်၊ ကိုယ်နဲ့ ကိုက်ညီအောင် ပြုပြင်လိုက်ရင် ကိုယ့်အတွက်လည်း အချိန်နည်းနည်းနဲ့ ထိရောက်တဲ့ Program တွေ ရေးနိုင်သလို နောက်လူတွေအတွက်လည်း အကျိုးရှိနိုင်ပါတယ်။ Project တိုင်းက တစ်ခြား Project တွေကို အခြေခံပြီး တည်ဆောက်ထားရတာပါ။

4. Perfectionism

လူတိုင်းက ပြီးပြည့်စုံတဲ့ အကောင်းဆုံး Project ကို ဖန်တီးချင်ကြတာပါပဲ။ ဒါပေမယ့် ဒီလိုအရာရာကို Perfect ဖြစ်အောင်လုပ်နေရင် ကိုယ့် Project ရဲ့ မူလရည်ရွယ်ချက်ပျောက်ဆုံးသွားတတ်ပါတယ်။ သူများတွေမှာ မပါတဲ့ Feature အကုန်လိုက်ထည့်ရင်း Project က သုံးမရဖြစ်သွားနိုင်ပါတယ်။ ကိုယ့် Project  က Unique ဖြစ်ဖို့လိုပေမယ့် လုံးဝပြီးပြည့်စုံ စရာမလိုပါဘူး။ ပြစ်ချက် တစ်စုံတစ်ရာ မပါတဲ့ Project ဆိုတာမျိုး မရှိပါဘူး။  ကိုယ်ထည့်ချင်တဲ့ အဓိကလုပ်ဆောင်ချက်တွေကို အာရုံစိုက်ပြီး အကောင်းဆုံးဖြစ်အောင်လုပ်ပါ။ ကိုယ့်ရဲ့ Project က ကောင်းကောင်းအလုပ်လုပ်ပြီး  လူအများလက်ခံနိုင်မယ့် ပုံစံဖြစ်ရင် အဆင်ပြေပါပြီ။

5. Challenges

Project တစ်ခု စလုပ်ပြီဆိုတာနဲ့ ကြိုပြီး ပြင်ဆင်ထားရမယ့် အရာက ကြုံတွေ့လာတဲ့ ပြဿနာတွေကို ဖြေရှင်းဖို့ပါ။ ကိုယ့် Project ကို ဘယ်လိုမှ ဆက်ရေးလို့ မရနိုင်တော့ဘူးလို့ တွေးမိတဲ့ အချိန်တွေ ရှိလာမှာပါ။ တစ်ခြားသူတွေက Project တွေ ကောင်းကောင်းရေးနိုင်ပြီး ကိုယ်ရေးတဲ့ တစ်ခုမှ ပြဿနာအမျိုးမျိုးပါနေတယ်ဆိုပြီး စိတ်ပျက်လာနိုင်ပါတယ်။ အမှန်တော့ လူတိုင်းက ရလဒ်ကောင်းတစ်ခုရလာဖို့ နောက်ကွယ်မှာ အခက်အခဲမျိုးစုံရင်ဆိုင်ခဲ့ရပြီး ပြဿနာများစွာကို နည်းလမ်းအမျိုးမျိုးနဲ့ ဖြေရှင်းခဲ့ရတာပါ။ ဒီလိုစိန်ခေါ်မှုတွေကို ဘယ်လိုရင်ဆိုင်တယ်ဆိုတာကပဲ ကိုယ့် Project ရဲ့ အောင်မြင်မှုကို ဆုံးဖြတ်ပေးမှာပါ။

Steps for solving problems

Project တစ်ခုမှာ ကြုံလာနိုင်တဲ့ ပြဿနာတွေကို ရင်ဆိုင်ဖြေရှင်းဖို့အတွက် အဆင့်သုံးဆင့်ကို ဖော်ပြပေးလိုက်ပါတယ်။

1. Research

ပြဿနာတွေကို ဖြေရှင်းဖို့ အကောင်းဆုံးနည်းကတော့ ကြုံလာနိုင်တဲ့ ပြဿနာတွေကို အတတ်နိုင်ဆုံး လျော့ချဖို့ပါပဲ။ ကိုယ်သိပ်မကျွမ်းကျင်တဲ့ Feature တစ်ခုကို ထည့်ချင်တယ်ဆိုရင် အရင်ဆုံး ဘယ်လိုရေးရမယ်ဆိုတာကို Google မှာ ရှာပါ။ သက်ဆိုင်တဲ့ Tutorial တွေ၊ ဉပမာတွေကို လေ့လာပါ။ ကိုယ်သုံးမယ့် Library အကြောင်းကို Documentation တွေမှာ ဖတ်ပါ။ ၆ နာရီလောက် debug လုပ်ရမယ့် ပြဿနာတစ်ခုကို Documentation ငါးမိနစ်လောက် ဖတ်လိုက်တာနဲ့ ဖြေရှင်းနိုင်ပါတယ်။ ကိုယ်ရေးမယ့် အရာကို ကြိုတင်လေ့လာထားလိုက်ရင် ပြဿနာတစ်ဝက်လောက်ကို လျော့ချပြီးသား ဖြစ်ပါတယ်။

“6 hours of debugging can save you 5 minutes of reading documentations.”

2. Resolve

Tutorial တွေ၊ Documentation တွေနဲ့ သေချာလေ့လာထားပေမယ့် ပြဿနာဆိုတာက အနည်းနဲ့ အများပေါ်လာမှာပါပဲ။ ဒီလိုမဖြေရှင်းတတ်တဲ့ ပြဿနာတွေတွေ့လာရပြီဆိုရင် အရင်ဆုံး StackOverflow Reddit စတဲ့နေရာတွေမှာ အဖြေရှာကြည့်ပါ။ ကိုယ်တွေ့နေရတဲ့ ပြဿနာမဟုတ်ရင်တောင် အလားတူ ပြဿနာမျိုးကို တစ်ယောက်ယောက်က ကြုံခဲ့ပြီး ဖြစ်မှာပါ။ သူတို့ရဲ့ Solution တွေကို ကြည့်ပြီး ပြဿနာအများစုကို ဖြေရှင်းနိုင်ပါတယ်။ ဒီလိုမှ မရရင်တော့ ကိုယ့်ရဲ့ ပြဿနာကို တင်ပြပြီး အကူအညီတောင်းပါ။ ပြဿနာကို ဖော်ပြတဲ့နေရာမှာ ကိုယ်လုပ်ချင်တဲ့ အရာ၊ ဘာကိုတော့လုပ်တတ်တယ်၊ ဘယ်နေရာမှာ အခက်အခဲတွေ့နေပါတယ်ဆိုတာတွေကို အသေးစိတ်ဖော်ပြပြီး မေးမြန်းသင့်ပါတယ်။ အဖြေကောင်းကို လိုချင်ရင် မေးခွန်းကောင်းကောင်းမေးတတ်ဖို့လည်း လိုပါတယ်။

3. Relax

ပြဿနာတစ်ခုကို နည်းမျိုးစုံနဲ့ စမ်းသပ်ဖြေရှင်းကြည့်လို့ မရဘူးဆိုရင်တော့ ဉီး‌နှောက်ကို အနားပေးလိုက်ပါ။ ကော်ဖီတစ်ခွက်လောက် ဖျော်သောက်တာပဲ ဖြစ်ဖြစ်၊ အပြင်ထွက် လမ်းလျှောက်တာပဲဖြစ်ဖြစ် ဒီပြဿနာအကြောင်းကို မစဉ်းစားပဲ တစ်ခုခုလုပ်နေလိုက်ပါ။ ဉီးနှောက်ကို ကိုယ်က အလုပ်မပေးပဲထားလိုက်ရင် သူ့ဘာသူအလုပ်လုပ်ချိန် ရသွားပါလိမ့်မယ်။ ဒီတော့မှ ပြဿနာကို ‌ဖြေရှင်းနိုင်မယ့် နည်းအသစ်‌တွေ၊ ဒါမှမဟုတ် ပြဿနာကို ရှောင်သွားနိုင်မယ့် နည်းလမ်းတွေ ပေါ်လာနိုင်ပါတယ်။ ဒီနည်းက အချိန်အလကားကုန်တယ်လို့ ထင်ရပေမယ့် တစ်ခါတစ်ရံမှာ ဒါကပဲ အကောင်းဆုံးနည်း ဖြစ်နေတတ်ပါတယ်။

Conclusion

ဒီအချက်လေးတွေ‌က ကိုယ့်စိတ်ကူးထဲက Project တွေကို ဖန်တီးတဲ့ နေရာမှာ အထောက်အကူဖြစ်မယ်လို့ ယုံကြည်မျှော်လင့်ပါတယ်။ ဇွဲ၊ လုံ့လ၊ ဝီရိယ သာရှိရင် အောင်မြင်တဲ့ Project တွေ တည်ဆောက်နိုင်မှာပါ။

If you have any questions or suggestions about this post, feel free to leave a comment down below.

Leave a comment