Programmer ေကာင္းတစ္ေယာက္ျဖစ္လာဖို႔အတြက္
သိထားသင့္သည့္ အခ်က္ (၁၀) ခ်က္
လက္ရွိအခ်ိန္မွာ Programmer တစ္ဦးအျဖစ္ ရပ္တည္းေနၾကသူေတြဟာ တကၠသိုလ္၊ ေကာလိပ္ေတြနဲ႔ သင္တန္းေက်ာင္းေတြက သင္ၾကားပို႔ခ်ေပးထားလိုက္တဲ့ သင္ရုိးညႊန္းတမ္းေတြ၊ မိမိဖတ္ရႈေလ့လာထားတဲ့ စာအုပ္ေတြက ေဖာ္ျပထားတဲ့
လမ္းညႊန္ခ်က္ေတြနဲ႔အညီ အရည္အခ်င္း ျပည့္၀ၿပီးသား သူေတြျဖစ္ေနမွာပါ။ ဒါေပမယ္မယ့္ မိမိရဲ႕ဘ၀ ရည္တည္မႈလမ္းေၾကာင္းမွာ ထင္ရွားေက်ာ္ၾကားတဲ့ Programmer တစ္ဦးအျဖစ္ နာမည္ေကာင္းရရွိလာဖို႔အတြက္ အေလ့အက်င့္ ျပဳထားသင့္တဲ့ အခ်က္ (၁၀) ခ်က္ကို ဗဟုသုတျဖစ္ဖြယ္ေဖာ္ျပေပးလုိက္ပါတယ္။
သိထားသင့္သည့္ အခ်က္ (၁၀) ခ်က္
လက္ရွိအခ်ိန္မွာ Programmer တစ္ဦးအျဖစ္ ရပ္တည္းေနၾကသူေတြဟာ တကၠသိုလ္၊ ေကာလိပ္ေတြနဲ႔ သင္တန္းေက်ာင္းေတြက သင္ၾကားပို႔ခ်ေပးထားလိုက္တဲ့ သင္ရုိးညႊန္းတမ္းေတြ၊ မိမိဖတ္ရႈေလ့လာထားတဲ့ စာအုပ္ေတြက ေဖာ္ျပထားတဲ့
လမ္းညႊန္ခ်က္ေတြနဲ႔အညီ အရည္အခ်င္း ျပည့္၀ၿပီးသား သူေတြျဖစ္ေနမွာပါ။ ဒါေပမယ္မယ့္ မိမိရဲ႕ဘ၀ ရည္တည္မႈလမ္းေၾကာင္းမွာ ထင္ရွားေက်ာ္ၾကားတဲ့ Programmer တစ္ဦးအျဖစ္ နာမည္ေကာင္းရရွိလာဖို႔အတြက္ အေလ့အက်င့္ ျပဳထားသင့္တဲ့ အခ်က္ (၁၀) ခ်က္ကို ဗဟုသုတျဖစ္ဖြယ္ေဖာ္ျပေပးလုိက္ပါတယ္။
(၁). Source Control လုပ္ငန္းစဥ္အမ်ိဳးမ်ိဳးကို ေလ့လာပါ။
မိမိေရးသားေပးလိုက္တဲ့ Program တစ္ခုဟာ အသံုးျပဳမယ့္သူရဲ႕ လိုအပ္ခ်က္နဲ႔ ကိုက္ညီမႈ မရွိဘဲ ၎ရင္းႏွီးကၽြမ္း၀င္ၿပီးသား အေျခအေနတစ္ခုကေန ေသြဖီေနတယ္ဆိုရင္ ႏွစ္ဖက္စလံုးအတြက္ အဆင္မေျပတဲ့ အေျခအေနေတြ ျဖစ္ေပၚလာႏိုင္ပါတယ္။ ဒါေၾကာင့္မို႔ မိမိနဲ႔ပတ္သက္ဆက္ႏြယ္လာတဲ့ source control စနစ္ေတြအားလံုးကို နားလည္ေအာင္ေလ့လာျခင္းက သင့္အတြက္လြယ္ကူတဲ့ Program တစ္ခုကို ဖန္တီးႏိုင္ေစမွာျဖစ္ပါတယ္။
မိမိေရးသားေပးလိုက္တဲ့ Program တစ္ခုဟာ အသံုးျပဳမယ့္သူရဲ႕ လိုအပ္ခ်က္နဲ႔ ကိုက္ညီမႈ မရွိဘဲ ၎ရင္းႏွီးကၽြမ္း၀င္ၿပီးသား အေျခအေနတစ္ခုကေန ေသြဖီေနတယ္ဆိုရင္ ႏွစ္ဖက္စလံုးအတြက္ အဆင္မေျပတဲ့ အေျခအေနေတြ ျဖစ္ေပၚလာႏိုင္ပါတယ္။ ဒါေၾကာင့္မို႔ မိမိနဲ႔ပတ္သက္ဆက္ႏြယ္လာတဲ့ source control စနစ္ေတြအားလံုးကို နားလည္ေအာင္ေလ့လာျခင္းက သင့္အတြက္လြယ္ကူတဲ့ Program တစ္ခုကို ဖန္တီးႏိုင္ေစမွာျဖစ္ပါတယ္။
(၂). နားလည္သိသာလြယ္တဲ့ Variable name ေတြကို အသံုးျပဳပါ။
တူညီမႈမရွိတဲ့ Variable name ေတြကို အသံုးျပဳျခင္းက Programmer ေတြအတြက္ မထူးဆန္းေတာ့ေပမယ့္ တကယ္လို႔မ်ား မိမိရဲ႕ Program တစ္ခုကို အျခားတစ္ေယာက္က ၀င္ေရာက္ၾကည့္ရႈေတာ့မယ္ဆိုရင္ ၎အတြက္က ရႈပ္ေထြးမႈေတြ ျဖစ္ေပၚလာႏိုင္ပါတယ္။ ဒါေၾကာင့္ အခ်ိန္ကုန္ သက္သာေစမယ့္ အသင့္ျပဳလုပ္ၿပီးသား Variable name ေတြကို အသံုးျပဳျခင္းက မိမိဖန္တီးလုိက္တဲ့ Program တစ္ခုကို အမ်ားသိသာျမင္သာေစဖို႔အတြက္ အခြင့္အလမ္းတစ္ခု ျဖစ္ပါတယ္။
တူညီမႈမရွိတဲ့ Variable name ေတြကို အသံုးျပဳျခင္းက Programmer ေတြအတြက္ မထူးဆန္းေတာ့ေပမယ့္ တကယ္လို႔မ်ား မိမိရဲ႕ Program တစ္ခုကို အျခားတစ္ေယာက္က ၀င္ေရာက္ၾကည့္ရႈေတာ့မယ္ဆိုရင္ ၎အတြက္က ရႈပ္ေထြးမႈေတြ ျဖစ္ေပၚလာႏိုင္ပါတယ္။ ဒါေၾကာင့္ အခ်ိန္ကုန္ သက္သာေစမယ့္ အသင့္ျပဳလုပ္ၿပီးသား Variable name ေတြကို အသံုးျပဳျခင္းက မိမိဖန္တီးလုိက္တဲ့ Program တစ္ခုကို အမ်ားသိသာျမင္သာေစဖို႔အတြက္ အခြင့္အလမ္းတစ္ခု ျဖစ္ပါတယ္။
(၃). Class အစား Interface ကို တတ္ႏိုင္သမွ်အသံုးျပဳပါ။
Code ေတြေရးသားတဲ့အခါမွာ class ေတြနဲ႔ ေဖာ္ျပမယ့္အစား Interface ေတြကို တတ္ႏိုင္သေလာက္ အသံုးျပဳေပးပါ။ ဥပမာ Integers ကိန္းျပည့္ကို ေခၚလိုတဲ့အခါမွာ List<int> အျဖစ္ေခၚဖို႔ မလုိအပ္ေတာ့ဘဲ IEnumerable<int> လို႔ ေခၚဆိုႏိုင္ျခင္းက အသံုးျပဳသူေတြအတြက္ ပိုမို လက္ခံဖို႔ေကာင္းတဲ့ အေျခအေနတစ္ခုျဖစ္ပါတယ္။
Code ေတြေရးသားတဲ့အခါမွာ class ေတြနဲ႔ ေဖာ္ျပမယ့္အစား Interface ေတြကို တတ္ႏိုင္သေလာက္ အသံုးျပဳေပးပါ။ ဥပမာ Integers ကိန္းျပည့္ကို ေခၚလိုတဲ့အခါမွာ List<int> အျဖစ္ေခၚဖို႔ မလုိအပ္ေတာ့ဘဲ IEnumerable<int> လို႔ ေခၚဆိုႏိုင္ျခင္းက အသံုးျပဳသူေတြအတြက္ ပိုမို လက္ခံဖို႔ေကာင္းတဲ့ အေျခအေနတစ္ခုျဖစ္ပါတယ္။
(၄). အဖဲြ႔၀င္မ်ားရဲ႕ အားနည္းခ်က္ကို နားလည္လက္ခံေပးပါ။
Program တစ္ခုေရးသားၾကရာမွာ ဘက္စံုေတာ္ေနသူေတြရွိသလို အေတြ႔အႀကံဳ အားနည္းသူေတြလည္း ရွိတတ္တာေၾကာင့္ မိမိအေဖာ္ရဲ႕ အေျခအေနကို ေကာင္းမြန္စြာ သိရွိထားဖို႔ လိုအပ္ပါတယ္။ ဒါေၾကာင့္ အတူတကြ လုပ္ကိုင္သူအခ်င္းခ်င္း ညွာတာၿပီး ပူးေပါင္းလုပ္ေဆာင္းျခင္းက အလုပ္တစ္ခုကို ေကာင္းမြန္စြာ ၿပီးဆံုးေစမွာပါ။
Program တစ္ခုေရးသားၾကရာမွာ ဘက္စံုေတာ္ေနသူေတြရွိသလို အေတြ႔အႀကံဳ အားနည္းသူေတြလည္း ရွိတတ္တာေၾကာင့္ မိမိအေဖာ္ရဲ႕ အေျခအေနကို ေကာင္းမြန္စြာ သိရွိထားဖို႔ လိုအပ္ပါတယ္။ ဒါေၾကာင့္ အတူတကြ လုပ္ကိုင္သူအခ်င္းခ်င္း ညွာတာၿပီး ပူးေပါင္းလုပ္ေဆာင္းျခင္းက အလုပ္တစ္ခုကို ေကာင္းမြန္စြာ ၿပီးဆံုးေစမွာပါ။
(၅). အသံုးျပဳသူမ်ားရဲ႕ လိုအပ္ခ်က္ကို လက္ခံပါ။
မိမိေရးသားထားတဲ့ Program ကို အသံုးျပဳဖို႔အတြက္ အသံုးျပဳသူတိုင္းကေတာ့ ၎ Program ကို ဘယ္လုိအသံုးျပဳရမယ္ဆိုတာမ်ိဳး၊ တတ္ကၽြမ္းေအာင္သင္ယူေလ့လာျခင္းမ်ိဳးနဲ႔ ေဖာ္ျပထားတဲ့ အခ်က္အလက္ေတြဖတ္ရႈတာမ်ိဳးကို မလုပ္ၾကပါဘူး။ ဒါေၾကာင့္ မိမိ(Programmer တစ္ေယာက္) အေနနဲ႔လည္း အသံုးျပဳသူေတြရဲ႕ လုိအပ္ခ်က္၊ အားနည္းခ်က္ေတြကို သေဘာေပါက္ လက္ခံေပးဖို႔ လိုအပ္ပါတယ္။
မိမိေရးသားထားတဲ့ Program ကို အသံုးျပဳဖို႔အတြက္ အသံုးျပဳသူတိုင္းကေတာ့ ၎ Program ကို ဘယ္လုိအသံုးျပဳရမယ္ဆိုတာမ်ိဳး၊ တတ္ကၽြမ္းေအာင္သင္ယူေလ့လာျခင္းမ်ိဳးနဲ႔ ေဖာ္ျပထားတဲ့ အခ်က္အလက္ေတြဖတ္ရႈတာမ်ိဳးကို မလုပ္ၾကပါဘူး။ ဒါေၾကာင့္ မိမိ(Programmer တစ္ေယာက္) အေနနဲ႔လည္း အသံုးျပဳသူေတြရဲ႕ လုိအပ္ခ်က္၊ အားနည္းခ်က္ေတြကို သေဘာေပါက္ လက္ခံေပးဖို႔ လိုအပ္ပါတယ္။
(၆). ျပဳလုပ္လုိက္တဲ့ ေျပာင္းလဲမႈအတြက္ အေၾကာင္းျပခ်က္ကို ေရးသားေဖာ္ျပေပးပါ။
ေရးသားထားတဲ့ Program တိုင္းဟာ တစ္ခါတည္းနဲ႔ေတာ့ ၿပီးျပည့္စံုမႈမရွိၾကပါဘူး။ ဒါေၾကာင့္ ထပ္မံျပင္ဆင္လိုက္တဲ့ အေၾကာင္းအရာအတြက္ အေၾကာင္းျပခ်က္ ေရးသားေဖာ္ျပေပးဖို႔ လိုအပ္ပါတယ္။ ၎ကဲ့သို႔ ေဖာ္ျပေပးျခင္းဟာ အသံုးျပဳသူေတြအတြက္ အလြန္အဆင္ေျပေစပါတယ္။
ေရးသားထားတဲ့ Program တိုင္းဟာ တစ္ခါတည္းနဲ႔ေတာ့ ၿပီးျပည့္စံုမႈမရွိၾကပါဘူး။ ဒါေၾကာင့္ ထပ္မံျပင္ဆင္လိုက္တဲ့ အေၾကာင္းအရာအတြက္ အေၾကာင္းျပခ်က္ ေရးသားေဖာ္ျပေပးဖို႔ လိုအပ္ပါတယ္။ ၎ကဲ့သို႔ ေဖာ္ျပေပးျခင္းဟာ အသံုးျပဳသူေတြအတြက္ အလြန္အဆင္ေျပေစပါတယ္။
(၇). Algorithms ေတြကို ရွင္းလင္းေဖာ္ျပေပးပါ။
မိမိအသံုးျပဳလုိက္တဲ့မည္သည့္ Algorithm အတြက္မဆို ေရြးခ်ယ္အသံုးျပဳရျခင္းရဲ႕ အေၾကာင္းျပခ်က္ကို ရွင္းလင္းေဖာ္ျပေပးသင့္ပါတယ္။ တစ္ခ်ိဳ႕ေတြအတြက္ အဆိုပါအခ်က္ဟာ အေရးမပါလွေပမယ့္ တစ္ခ်ိဳ႕ေသာ ကၽြမ္းက်င္ပညာရွင္ေတြနဲ႔ ေတြ႔ဆံုတဲ့အခါမွာေတာ့ ၎ဟာလည္း အေတာ္ေလး ထိေရာက္တဲ့ မွတ္ခ်က္တစ္ခုျဖစ္ပါတယ္။
မိမိအသံုးျပဳလုိက္တဲ့မည္သည့္ Algorithm အတြက္မဆို ေရြးခ်ယ္အသံုးျပဳရျခင္းရဲ႕ အေၾကာင္းျပခ်က္ကို ရွင္းလင္းေဖာ္ျပေပးသင့္ပါတယ္။ တစ္ခ်ိဳ႕ေတြအတြက္ အဆိုပါအခ်က္ဟာ အေရးမပါလွေပမယ့္ တစ္ခ်ိဳ႕ေသာ ကၽြမ္းက်င္ပညာရွင္ေတြနဲ႔ ေတြ႔ဆံုတဲ့အခါမွာေတာ့ ၎ဟာလည္း အေတာ္ေလး ထိေရာက္တဲ့ မွတ္ခ်က္တစ္ခုျဖစ္ပါတယ္။
(၈). အေျခအေနအလုိက္ လိုအပ္တဲ့ အကူအညီကိုေပးပါ။
အသံုးျပဳသူေတြဘက္ကလည္း Program တစ္ခုကို ကၽြမ္းက်င္ေအာင္ ေလ့လာသင့္သလို Programmer တစ္ဦးအေနနဲ႔ကလည္း လိုအပ္တဲ့အကူအညီေတြကို လိုအပ္တဲ့အခ်ိန္မွာ ေပးႏိုင္ဖို႔ ႀကိဳးစားသင့္ပါတယ္။ ညႊန္ၾကားခ်က္ေတြထည့္သြင္းေဖာ္ျပတဲ့အခါမွာလည္း နားလည္လြယ္ကူတဲ့ အသံုးအႏႈန္းေတြျဖစ္ဖုိ႔နဲ႔ ဘာသာရပ္တစ္ခုအတြင္းက စကားလံုးေတြ အသံုးမျပဳမိေစဖို႔ ေရွာင္ၾကဥ္သင့္ပါတယ္။
အသံုးျပဳသူေတြဘက္ကလည္း Program တစ္ခုကို ကၽြမ္းက်င္ေအာင္ ေလ့လာသင့္သလို Programmer တစ္ဦးအေနနဲ႔ကလည္း လိုအပ္တဲ့အကူအညီေတြကို လိုအပ္တဲ့အခ်ိန္မွာ ေပးႏိုင္ဖို႔ ႀကိဳးစားသင့္ပါတယ္။ ညႊန္ၾကားခ်က္ေတြထည့္သြင္းေဖာ္ျပတဲ့အခါမွာလည္း နားလည္လြယ္ကူတဲ့ အသံုးအႏႈန္းေတြျဖစ္ဖုိ႔နဲ႔ ဘာသာရပ္တစ္ခုအတြင္းက စကားလံုးေတြ အသံုးမျပဳမိေစဖို႔ ေရွာင္ၾကဥ္သင့္ပါတယ္။
(၉). Cross-platform စမ္းသပ္ခ်က္ေတြ ေဆာင္ရြက္ပါ။
မိမိေရးသားတဲ့ Program တစ္ခုဟာ ဘယ္လို platform မ်ိဳးနဲ႔မဆို အသံုးျပဳႏိုင္ဖို႔က အလြန္အေရးႀကီးပါတယ္။ Web application ေတြ ေရးသားတဲ့အခါမွာ platform အမ်ိဳးမ်ိဳးနဲ႔ တည္ေဆာက္ထားတဲ့ browser အမ်ိဳးမ်ိဳးနဲ႔ စမ္းသပ္ၾကည့္ဖို႔ အလြန္အေရးႀကီးပါတယ္။
မိမိေရးသားတဲ့ Program တစ္ခုဟာ ဘယ္လို platform မ်ိဳးနဲ႔မဆို အသံုးျပဳႏိုင္ဖို႔က အလြန္အေရးႀကီးပါတယ္။ Web application ေတြ ေရးသားတဲ့အခါမွာ platform အမ်ိဳးမ်ိဳးနဲ႔ တည္ေဆာက္ထားတဲ့ browser အမ်ိဳးမ်ိဳးနဲ႔ စမ္းသပ္ၾကည့္ဖို႔ အလြန္အေရးႀကီးပါတယ္။
(၁၀). အသံုးျပဳမယ့္သူေတြကို ထည့္သြင္းစဥ္းစားပါ။
မိမိေရးသားေပးရတဲ့ Program ကို အသံုးျပဳမယ့္သူေတြကိုလည္း ထည့္သြင္းစဥ္းစားဖို႔ လိုအပ္ပါတယ္။ ေကာင္းမြန္ျပည့္စံုတဲ့ Program တစ္ခုထြက္ေပၚလာဖို႔ဆိုတာ မိမိ ရည္ရြယ္ထားသူေတြနဲ႔ ကိုက္ညီမႈရွိ/မရွိဆိုတာလည္း အလြန္အေရးႀကီးတဲ့ အခ်က္ျဖစ္ပါတယ္။
မိမိေရးသားေပးရတဲ့ Program ကို အသံုးျပဳမယ့္သူေတြကိုလည္း ထည့္သြင္းစဥ္းစားဖို႔ လိုအပ္ပါတယ္။ ေကာင္းမြန္ျပည့္စံုတဲ့ Program တစ္ခုထြက္ေပၚလာဖို႔ဆိုတာ မိမိ ရည္ရြယ္ထားသူေတြနဲ႔ ကိုက္ညီမႈရွိ/မရွိဆိုတာလည္း အလြန္အေရးႀကီးတဲ့ အခ်က္ျဖစ္ပါတယ္။
Blogger: Nyi Min Khant(KMD)😎😎
Comments
Post a Comment