ကြန္ပ်ဴတာ ပရုိဂရမ္ တစ္ခုကုိ ေရးေတာ့မည္ ဆုိပါက ဒီဇုိင္းသည္ အလြန္အေရးပါသည့္ အခန္းက႑ ျဖစ္သည္။ ကြန္ပ်ဴတာ စံနစ္ တစ္ခု တည္ေဆာက္ ရာတြင္ ေရွးဦးစြာ တည္ေဆာက္မည့္ ပုံစံအတြက္ Analysis ေခၚ ခြဲျခမ္း စိတ္ျဖာ စိစစ္မွဳ အလုပ္ကုိ စတင္ လုပ္ရပါမည္။ ထုိ႔ေနာက္ ဒီဇုိင္း ပုံစံ ခ်ရပါမည္။ ထုိ႔ေနာက္တြင္မွ Coding ေခၚ ပရုိဂရမ္ ေရးျခင္း လုပ္ရပါမည္။ ေနာက္ပုိင္း တြင္မူ ေရးဆြဲၿပီးသည့္ ပရုိဂရမ္ကုိ စမ္းသပ္ စစ္ေဆးျခင္း ႏွင့္ ထိမ္းသိန္း ျပဳျပင္ျခင္း၊ ထပ္မံ တုိးခ်ဲ႕ျခင္းမ်ား ျပဳလုပ္ၾကပါသည္။ ထုိအခါ ပရုိဂရမ္ ဒီဇုိင္း ညံ့သည့္ ပရုိဂရမ္မ်ား ျဖစ္လွ်င္ Coding ေရးျခင္း၊ Testing လုပ္ျခင္းႏွင့္ Maintenance လုပ္သည့္ အဆင့္မ်ားတြင္ ခက္ခက္ခဲခဲ ႏွင့္ အခ်ိန္ယူ လုပ္ၾကရ တတ္ပါသည္။
ထုိ႔ေၾကာင့္ ေဆာ့ဖ္ဝဲလ္ ကုမၼဏီ အမ်ားအျပားတုိ႔သည္ ပရုိဂရမ္မာမ်ားကုိ ေခၚယူရာတြင္ Logic ေကာင္းေကာင္း ပုိင္ရုံ၊ Coding ေကာင္းေကာင္း ပုိင္ရုံ ထက္၊ ဒီဇုိင္း ေကာင္းေကာင္းျဖင့္ ေရးႏုိင္သူကုိ ပုိ၍ လုိလားၾကပါသည္။ ဒီဇုိင္း ေကာင္းေကာင္းျဖင့္ ေရးႏုိင္သူကုိ ပရုိဂရမ္မာ ေကာင္း တစ္ေယာက္ အျဖစ္ အသိအမွတ္ ျပဳၾကပါသည္။ ဒီဇုိင္းေကာင္းဖုိ႔ ဆုိသည္မွာ အဆင့္ ၄ ဆင့္ ၾကည့္ရပါသည္။ ပထမ အဆင့္တြင္ အသုံးျပဳသည့္ Coding မ်ားကုိ ၾကည့္ပါသည္။ ဒုတိယမွာ Code Design ကုိၾကည့္ပါသည္။ Code Design တြင္ ရုိးရုိး ရွင္းရွင္း သုံးထားသည့္ Code မ်ား၊ ျပန္လည္ အသုံးျပဳႏုိင္သည့္ Code မ်ား (Reuse Code)၊ အမည္ေပးျခင္းမ်ား၊ ေနရာျခားျခင္းမ်ား (Spacing)၊ စံသတ္မွတ္သည့္ ပုံစံမ်ား (Standard Patterns)၊ စသည့္ ဒီဇုိင္း နည္းစံနစ္မ်ား ပါဝင္ပါသည္။ တတိယတြင္ System Design ကုိၾကည့္ပါသည္။ System Design ကုိ ၾကည့္ရာတြင္ စံနစ္ တစ္ခုလုံးအတြက္ ဒီဇုိင္း တည္ေဆာက္သည့္ ပုံစံ၊ Classes, Attributes စသည္တုိ႔ကုိ အဓိကထား ပါသည္။ ေနာက္ဆုံး အဆင့္တြင္ ပရုိဂရမ္၏ လုပ္ေဆာင္မွဳကုိ စီမံခန္႔ခြဲ တည္ေဆာက္ ထားပုံ၊ ခြဲျခမ္း စိတ္ျဖာႏုိင္သည့္ အေနအထား၊ တဆင့္ျခင္း လြယ္ကူစြာ စစ္ေဆး စမ္းသပ္မွဳ ျပဳလုပ္ႏုိင္ရန္ အတြက္ ျပင္ဆင္ ထားျခင္းမ်ားကုိ ၾကည့္ရွဳပါသည္။
မိမိ၏ လုပ္ငန္းအတြက္ ယခင္က ျမန္မာျပည္မွ ပရုိဂရမ္မာမ်ားကုိ အသုံးျပဳရာတြင္ Code Design မွာ အားနည္းခ်က္ အခ်ဳိ႕ကုိ ေတြ႕ခဲ႔ရပါသည္။ ထုိအားနည္းခ်က္မ်ားမွာ – ပထမ ဦးစြာ Class, Attribute, Method, Constant စသည္တုိ႔ကုိ အမည္ေပးသည့္ အခါ၊ သင့္တင့္ ေလွ်ာက္ပတ္သည့္ အမည္ကုိ မေရြးတတ္ျခင္း၊ စာလုံးေပါင္းမွားျခင္းႏွင့္ စံနစ္တက် စံျပဳထားသည့္ ပုံစံမက်ျခင္းမ်ား၊ ျဖစ္ၾကပါသည္။
အမည္ေပးျခင္းႏွင့္ ပတ္သက္၍ ဥပမာ – int tempValue; double x; String thing; int no; double accInt; စသည့္ အမည္မ်ားမွာ ဘာကုိ ဆုိလုိသည္ကုိ လြယ္ကူစြာ မသိႏုိင္သျဖင့္ ပရုိဂရမ္ကုိ မိမိအျပင္ အျခားသူ တစ္ဦးတစ္ေယာက္က အမွားရွာရန္၊ စစ္ေဆးရန္၊ ထပ္မံ တုိးခ်ဲ႕ရန္၊ ထိမ္းသိန္းရန္ မလြယ္ကူဘဲ ခက္ခဲပါမည္။
စံျပဳထားသည့္ ပုံစံမ်ားႏွင့္ ပတ္သက္၍လည္း class name မ်ားေရးရာတြင္ အဂၤလိပ္စာလုံး အႀကီးျဖင့္ စေရးသည့္ ပုံစံ (ဥပမာ – Concert, House) ၊ attribute name မ်ားေရးရာတြင္ အစမွာ စာလုံးေသးျဖင့္ စၿပီး၊ ေနာက္ဆက္တြဲ စကားလုံးကုိ စာလုံးအႀကီးျဖင့္ ဆက္ေရးသည့္ ပုံစံ (ဥပမာ – familyName, isIn)၊ method name မ်ားေရးရာတြင္ စကားလုံး တစ္လုံးတည္း ျဖစ္လွ်င္ အဂၤလိပ္ စာလုံး အေသး မ်ားျဖင့္သာ ေရးေသာ္လည္း (ဥပမာ – volume(), player())၊ စကားလုံး ႏွစ္လုံး အသုံးျပဳရန္ လုိပါက အထက္က attribute name ေရးသကဲ႔သုိ႔ ဒုတိယ စကားလုံးကုိ စာလုံးအႀကီးျဖင့္ ဆက္ေရးသည့္ ပုံစံ၊ Constant name မ်ားကုိ ေရးရာတြင္ စာလုံး အႀကီးမ်ားသာ အသုံးျပဳရသည့္ ပုံစံႏွင့္ စကားလုံးမ်ား ဆက္ရန္ လုိအပ္ပါက ေအာက္မ်ဥ္းဆက္ျဖင့္ ဆက္ေရးရသည့္ ပုံစံ (ဥပမာ – DAYS_IN_YEAR) မ်ားသည္ စံျပဳထားသည့္ ပုံစံမ်ား ျဖစ္သျဖင့္ လုိက္နာရန္ လုိအပ္ပါသည္။ ထုိ႕အျပင္ for loop သုံးသည့္ အခါမ်ဳိးမ်ားတြင္ i သုိ႕မဟုတ္ n ကုိ အမ်ားအားျဖင့္ သုံးၾကျခင္း၊ အဓိပၸါယ္ သီးျခား မရွိေသာ string ဆုိလွ်င္ s ႏွင့္ object ဆုိလွ်င္ o ဟု သုံးၾကသည္ကုိလည္း လုိက္နာသင့္ပါသည္။
ေနာက္တစ္ခု အမ်ားဆုံးေတြ႕ရသည့္ ဒီဇုိင္း အားနည္းခ်က္မွာ ေနရာျခားျခင္းမ်ား ျဖစ္သည္။ ေနရာျခားျခင္းမ်ား ႏွင့္ ပတ္သက္ၿပီး အမွား ပုံစံမ်ားကုိ ေအာက္တြင္ ျပထားသည္။
Assignment ၏ ေဘး တစ္ဖက္ တစ္ခ်က္စီမွာ ေနရာျခားရမည္။
ပုံစံအမွား
ပုံစံအမွန္
operator ၏ ေဘး တစ္ဖက္ တစ္ခ်က္စီမွာ ေနရာျခားရမည္။
ပုံစံအမွား
ပုံစံအမွန္
semi-colon ၏ ေနာက္ဖက္မွာ ေနရာျခားရမည္။
ပုံစံအမွား
ပုံစံအမွန္
for, while တုိ႔၏ အေနာက္ဖက္မွာ ေနရာျခားရမည္။
ပုံစံအမွား
ပုံစံအမွန္
arguments, parameters မ်ား အေရွ႕ဖက္တြင္မူ ေနရာျခားျခင္း မျပဳလုပ္ရ။
ပုံစံအမွား
ပုံစံအမွန္
တစ္ဖန္ Indenting ေခၚ အျခားစာေၾကာင္းမ်ား၏ အစေနရာ မွ အတြင္း သြင္း၍ စတင္ေရးသားသည့္ ပုံစံကုိ လည္း အထူး ဂရုျပဳသင့္ပါသည္။ ဥပမာအားျဖင့္ အမ်ားဆုံးေတြ႕ရသည့္ အမွားမွာ else if statement ေရးသည့္ ပုံစံမ်ားတြင္ ျဖစ္သည္။ ေအာက္တြင္ ၾကည့္ပါ။
ပုံစံအမွား
ထုိ႔ေၾကာင့္ ေဆာ့ဖ္ဝဲလ္ ကုမၼဏီ အမ်ားအျပားတုိ႔သည္ ပရုိဂရမ္မာမ်ားကုိ ေခၚယူရာတြင္ Logic ေကာင္းေကာင္း ပုိင္ရုံ၊ Coding ေကာင္းေကာင္း ပုိင္ရုံ ထက္၊ ဒီဇုိင္း ေကာင္းေကာင္းျဖင့္ ေရးႏုိင္သူကုိ ပုိ၍ လုိလားၾကပါသည္။ ဒီဇုိင္း ေကာင္းေကာင္းျဖင့္ ေရးႏုိင္သူကုိ ပရုိဂရမ္မာ ေကာင္း တစ္ေယာက္ အျဖစ္ အသိအမွတ္ ျပဳၾကပါသည္။ ဒီဇုိင္းေကာင္းဖုိ႔ ဆုိသည္မွာ အဆင့္ ၄ ဆင့္ ၾကည့္ရပါသည္။ ပထမ အဆင့္တြင္ အသုံးျပဳသည့္ Coding မ်ားကုိ ၾကည့္ပါသည္။ ဒုတိယမွာ Code Design ကုိၾကည့္ပါသည္။ Code Design တြင္ ရုိးရုိး ရွင္းရွင္း သုံးထားသည့္ Code မ်ား၊ ျပန္လည္ အသုံးျပဳႏုိင္သည့္ Code မ်ား (Reuse Code)၊ အမည္ေပးျခင္းမ်ား၊ ေနရာျခားျခင္းမ်ား (Spacing)၊ စံသတ္မွတ္သည့္ ပုံစံမ်ား (Standard Patterns)၊ စသည့္ ဒီဇုိင္း နည္းစံနစ္မ်ား ပါဝင္ပါသည္။ တတိယတြင္ System Design ကုိၾကည့္ပါသည္။ System Design ကုိ ၾကည့္ရာတြင္ စံနစ္ တစ္ခုလုံးအတြက္ ဒီဇုိင္း တည္ေဆာက္သည့္ ပုံစံ၊ Classes, Attributes စသည္တုိ႔ကုိ အဓိကထား ပါသည္။ ေနာက္ဆုံး အဆင့္တြင္ ပရုိဂရမ္၏ လုပ္ေဆာင္မွဳကုိ စီမံခန္႔ခြဲ တည္ေဆာက္ ထားပုံ၊ ခြဲျခမ္း စိတ္ျဖာႏုိင္သည့္ အေနအထား၊ တဆင့္ျခင္း လြယ္ကူစြာ စစ္ေဆး စမ္းသပ္မွဳ ျပဳလုပ္ႏုိင္ရန္ အတြက္ ျပင္ဆင္ ထားျခင္းမ်ားကုိ ၾကည့္ရွဳပါသည္။
မိမိ၏ လုပ္ငန္းအတြက္ ယခင္က ျမန္မာျပည္မွ ပရုိဂရမ္မာမ်ားကုိ အသုံးျပဳရာတြင္ Code Design မွာ အားနည္းခ်က္ အခ်ဳိ႕ကုိ ေတြ႕ခဲ႔ရပါသည္။ ထုိအားနည္းခ်က္မ်ားမွာ – ပထမ ဦးစြာ Class, Attribute, Method, Constant စသည္တုိ႔ကုိ အမည္ေပးသည့္ အခါ၊ သင့္တင့္ ေလွ်ာက္ပတ္သည့္ အမည္ကုိ မေရြးတတ္ျခင္း၊ စာလုံးေပါင္းမွားျခင္းႏွင့္ စံနစ္တက် စံျပဳထားသည့္ ပုံစံမက်ျခင္းမ်ား၊ ျဖစ္ၾကပါသည္။
အမည္ေပးျခင္းႏွင့္ ပတ္သက္၍ ဥပမာ – int tempValue; double x; String thing; int no; double accInt; စသည့္ အမည္မ်ားမွာ ဘာကုိ ဆုိလုိသည္ကုိ လြယ္ကူစြာ မသိႏုိင္သျဖင့္ ပရုိဂရမ္ကုိ မိမိအျပင္ အျခားသူ တစ္ဦးတစ္ေယာက္က အမွားရွာရန္၊ စစ္ေဆးရန္၊ ထပ္မံ တုိးခ်ဲ႕ရန္၊ ထိမ္းသိန္းရန္ မလြယ္ကူဘဲ ခက္ခဲပါမည္။
စံျပဳထားသည့္ ပုံစံမ်ားႏွင့္ ပတ္သက္၍လည္း class name မ်ားေရးရာတြင္ အဂၤလိပ္စာလုံး အႀကီးျဖင့္ စေရးသည့္ ပုံစံ (ဥပမာ – Concert, House) ၊ attribute name မ်ားေရးရာတြင္ အစမွာ စာလုံးေသးျဖင့္ စၿပီး၊ ေနာက္ဆက္တြဲ စကားလုံးကုိ စာလုံးအႀကီးျဖင့္ ဆက္ေရးသည့္ ပုံစံ (ဥပမာ – familyName, isIn)၊ method name မ်ားေရးရာတြင္ စကားလုံး တစ္လုံးတည္း ျဖစ္လွ်င္ အဂၤလိပ္ စာလုံး အေသး မ်ားျဖင့္သာ ေရးေသာ္လည္း (ဥပမာ – volume(), player())၊ စကားလုံး ႏွစ္လုံး အသုံးျပဳရန္ လုိပါက အထက္က attribute name ေရးသကဲ႔သုိ႔ ဒုတိယ စကားလုံးကုိ စာလုံးအႀကီးျဖင့္ ဆက္ေရးသည့္ ပုံစံ၊ Constant name မ်ားကုိ ေရးရာတြင္ စာလုံး အႀကီးမ်ားသာ အသုံးျပဳရသည့္ ပုံစံႏွင့္ စကားလုံးမ်ား ဆက္ရန္ လုိအပ္ပါက ေအာက္မ်ဥ္းဆက္ျဖင့္ ဆက္ေရးရသည့္ ပုံစံ (ဥပမာ – DAYS_IN_YEAR) မ်ားသည္ စံျပဳထားသည့္ ပုံစံမ်ား ျဖစ္သျဖင့္ လုိက္နာရန္ လုိအပ္ပါသည္။ ထုိ႕အျပင္ for loop သုံးသည့္ အခါမ်ဳိးမ်ားတြင္ i သုိ႕မဟုတ္ n ကုိ အမ်ားအားျဖင့္ သုံးၾကျခင္း၊ အဓိပၸါယ္ သီးျခား မရွိေသာ string ဆုိလွ်င္ s ႏွင့္ object ဆုိလွ်င္ o ဟု သုံးၾကသည္ကုိလည္း လုိက္နာသင့္ပါသည္။
ေနာက္တစ္ခု အမ်ားဆုံးေတြ႕ရသည့္ ဒီဇုိင္း အားနည္းခ်က္မွာ ေနရာျခားျခင္းမ်ား ျဖစ္သည္။ ေနရာျခားျခင္းမ်ား ႏွင့္ ပတ္သက္ၿပီး အမွား ပုံစံမ်ားကုိ ေအာက္တြင္ ျပထားသည္။
Assignment ၏ ေဘး တစ္ဖက္ တစ္ခ်က္စီမွာ ေနရာျခားရမည္။
ပုံစံအမွား
area=depth*hight;
ပုံစံအမွန္
area = depth * hight;
operator ၏ ေဘး တစ္ဖက္ တစ္ခ်က္စီမွာ ေနရာျခားရမည္။
ပုံစံအမွား
area = depth*hight;
ပုံစံအမွန္
area = depth * hight;
semi-colon ၏ ေနာက္ဖက္မွာ ေနရာျခားရမည္။
ပုံစံအမွား
for(int i=0;i<2;i++)
ပုံစံအမွန္
for (int i = 0; i < 2; i++)
for, while တုိ႔၏ အေနာက္ဖက္မွာ ေနရာျခားရမည္။
ပုံစံအမွား
for(int i=0;i<2;i++)
ပုံစံအမွန္
for (int i = 0; i < 2; i++)
arguments, parameters မ်ား အေရွ႕ဖက္တြင္မူ ေနရာျခားျခင္း မျပဳလုပ္ရ။
ပုံစံအမွား
x = sqrt (34);
ပုံစံအမွန္
x = sqrt(34);
တစ္ဖန္ Indenting ေခၚ အျခားစာေၾကာင္းမ်ား၏ အစေနရာ မွ အတြင္း သြင္း၍ စတင္ေရးသားသည့္ ပုံစံကုိ လည္း အထူး ဂရုျပဳသင့္ပါသည္။ ဥပမာအားျဖင့္ အမ်ားဆုံးေတြ႕ရသည့္ အမွားမွာ else if statement ေရးသည့္ ပုံစံမ်ားတြင္ ျဖစ္သည္။ ေအာက္တြင္ ၾကည့္ပါ။
ပုံစံအမွား
if ... ... else if ... ... else if ... ...ပုံစံအမွန္
if ... ... else if ... ... else if ... ...ထုိ႔ေၾကာင့္ Code Design ညံ့ဖ်င္းသည့္ ပရုိဂရမ္မ်ားမွာ၊ အမွားရွာရန္ ခက္ခဲျခင္း၊ အမွားျပင္ရန္ ခက္ခဲျခင္း၊ ပရုိဂရမ္ ေရးသူမွ အပ အျခား တစ္ေယာက္က ဖတ္ပါက နားလည္ရန္ ခက္ခဲျခင္း၊ တုိ႔ေၾကာင့္ ပရုိဂရမ္ကုိ ထိမ္းသိန္းျပင္ဆင္ တုိးခ်ဲ႕ရန္အတြက္ အခ်ိန္မ်ားစြာယူရျခင္း၊ ေငြကုန္ေၾကးက် မ်ားျခင္းမ်ား ျဖစ္သည့္ အတြက္ အျပည္ျပည္ဆုိင္ရာ ေဆာ့ဖ္ဝဲလ္ ေစ်းကြက္တြင္ အရည္အေသြးညံ့သည့္ ပရုိဂရမ္မ်ား အျဖစ္ သတ္မွတ္ခံရကာ၊ ေစ်းကြက္မဝင္ဘဲ ျဖစ္လာၾကပါသည္။
0 မွတ္ခ်က္ကေလးေရးေပးေနာ္.:
Post a Comment