၁ဝ။ အေျခခံ function ခြဲထုတ္ျခင္း
၁။ အေျခခံ function ခြဲထုတ္ျခင္း
(၁) အရြယ္အစားတိုင္းတာၿခင္း
Module ၏ size က manage လုပ္ႏိုင္ရမယ့္ size ျဖစ္ရမည္။
ပံုမွန္အားျဖင့္ program ရဲ႕ size က တစ္မ်က္နွာစာျဖစ္ျပီးေတာ့ module ခြဲတဲ႕ ေနရာမွာ အရမ္း ေသးငယ္တဲ့ module ခြဲမယ္ဆုိရင္္လည္း function လုိ႕ ေခၚလို႕မရႏိုင္ပါဘူး။
(၂) Interface ၏ရိုးရွင္းမႈ
အကယ္၍ module ကိုထပ္မံခြဲထုတ္မည္ဆိုလ်ွင္ module ကပိုမိုရိုးရွင္းလာေပမယ့္ interface ကပိုမို႐ႈပ္ေထြးလာမည့္လားရာရွိပါတယ္။ ဒါေႀကာင့္ module ကိုထိန္းခ်ဳပ္္ရန္တည္ေဆာက္ထားေသာ ဒီဇိုင္းသည္ေနွးေကြးလာမွာျဖစ္ပါတယ္။ခြဲထုတ္တာတိုလ်ွင္ interface ဒီဇိုင္းသည္အနည္းငယ္သာလိုအပ္ျပီး simple module ၏ function သည္တိုးလာျပီး မူလရည္ရြယ္ခ်က္သည္ေလ်ာ့သြားျဖစ္တယ္။
Input တစ္ခုမွ data တစ္ခု Output တစ္ခုမွ data တစ္ခု လို့ေတြးထားေပမယ့္ လက္ေတြ့မွာေတာ့ data အမ်ားႀကီးသို့ေျပာင္းလဲသြားေသာျဖစ္ရပ္မ်ားလည္းရွိပါတယ္။ တတ္နိုင္မယ္ဆိုရင္ interface ကို စနစ္ 2 ခုမွ 3 ခုအထိထားသင့္ပါတယ္
(၃) ေပါင္းစပ္ျခင္းအတိုင္းအတာ
module ေတြရဲ့ interface ကိုရိုးရွင္းေအာင္လုပ္မယ္ဆိုလွ်င္ ထို module မ်ား၏အမွီအခိုကင္းမဲ့မႈသည္ျမင့္တက္လာပါလိမ့္မည္။ Module ရဲ့ interface ကိုေပါင္းစပ္ျခင္းအတိုင္းအတာနဲ့ခြဲျခားနိုင္ပါတယ္။ ရလဒ္ကိုေပါင္းစပ္နိုင္နွုန္းနည္းတဲ့ data ေပါင္းစပ္ျခင္းလို့ေတြးထားပါတယ္။
အေႀကာင္းအရာ ေပါင္းစပ္ျခင္း | အျခား module မ်ား၏အေၾကာင္းအရာေပါင္းစပ္ျခင္း data မ်ားကိုတိုက္ရိုက္လက္ခံျခင္း |
ပူးေပါင္း ေပါင္းစပ္ျခင္း | ပံုမွန္ျပင္ပ dataပံုစံ၏ပူးေပါင္းေပါင္းစပ္ျခင္းကိုလက္ခံျခင္း |
အျပင္ပိုင္း ေပါင္းစပ္ | ပံုမွန္ျပင္ပေပါင္းစပ္ျခင္း data ၏မလိုအပ္သည့္ data မ်ားကိုမွတ္သားျခင္း |
ထိန္းခ်ုပ္ ေပါင္းစပ္ျခင္း | Module function ၏ ထိန္းခ်ဳပ္ data မ်ားကိုသယ္ေဆာင္ျခင္း |
Stamp ေပါင္းစပ္ျခင္း | ေပါင္းစပ္ထားေသာ stamp data structureကိုparameter အျဖစ္ေပးျခင္း |
Data ေပါင္းစပ္ျခင္း | ေပါင္းစပ္ထားေသာတခုထဲေသာရလဒ္ data ကို parameter အျဖစ္ေပးျခင္း |
(၄) အတိုင္းအတာ၏ခိုင္ခ့ံမွု
Module ကိုရိုးရွင္းတဲ့ function တစ္ခုအျဖစ္စီစစ္တာအေကာင္းဆံုးျဖစ္တယ္။ Function အမ်ားႀကီးကို module တစ္ခုအျဖစ္ျပဳလုပ္လိုက္လ်ွင္ function တိုင္းဆက္စပ္မွုရွိဖို့လိုအပ္တယ္။ Module မ်ား၏ဆက္စပ္မွုသည္ module ၏ခိုင္ခံ့မွုဟုသတ္မွတ္နိုင္သည္။ ခိုင္ခံ့မွုျမင့္မားေလ function ၏လုပ္ေဆာင္ခ်က္ျမင့္မားေလျဖစ္ပါတယ္။
Accidental | module ၏ function ၾကားတြင္ ဆက္သြယ္ခ်က္မရွိျခင္း |
Logical | ရိုးရွင္းသည့္ function အမ်ားအျပားရွိျခင္း |
Time | လက္ေတြ့က်က် နွင့္ အခ်ိန္ညွိနိုင္တဲ့ function အမ်ားအျပားရွိျခင္း |
Procedural | Function အမ်ားအျပားကို အစီအစဥ္က်က် လုပ္ေဆာင္နိုင္ျခင္း |
Contact manner | Function ၾကားရွိ data ဆက္စပ္မႈနွင့္ ျဖစ္စဥ္ |
Informational | Function အမ်ားအျပားရွိသည့္ dataပံုစံတစ္ခုနွင့္ဆက္ဆံျခင္း |
Functional | Function တစ္ခုတည္းသာရွိျခင္း |