အားလုံးပဲ မင်္ဂလာပါရှင့်။
ညီမကတော့ Spiceworks Myanmar Company တွင် Web Designer အနေနဲ့ ဝင်ရောက် အလုပ်လုပ်ကိုင်နေတဲ့ မဇင်နုထွေး ဖြစ်ပါတယ်ရှင့်။
ဒီတစ်ပတ်မှာတော့ “Coding Standards & Guidelines” ဆိုတဲ့ ခေါင်းစဉ်နဲ့ ပတ်သက်တဲ့ အကြောင်းအရာတွေကို ညီမ သိရှိသလောက်၊ လေ့လာမိသလောက်လေးတွေကို မျှဝေပေးသွားပါမယ်။
Coding Standard ဆိုတာ ဘာလဲ။
Coding Standard ဆိုတာ ယေဘုယျအားဖြင့် သတ်မှတ်ထားသော စံညွှန်းများ၊ အသင်းအဖွဲ့အနေနဲ့ သတ်မှတ်ထားသော လမ်းညွှန်ချက်များ သို့မဟုတ် စံနှုန်းများနှင့် အရည်အသွေးကောင်းမွန်သော website, software ဖြစ်စေရန်အတွက် coder များက လမ်းညွှန်ချက်များကို လိုက်နာကျင့်သုံးပြီး စနစ်တကျ ရေးသားထားတဲ့ coding ပုံစံကို ဆိုလိုခြင်း ဖြစ်ပါတယ်။
အဓိက ရည်ရွယ်ချက်အနေနဲ့ကတော့ design မှ coding အဖြစ်ရေးတဲ့အခါ design အတိုင်းပေါ်လာရုံပဲ မဟုတ်ဘဲ ရေးထားတဲ့ code ကလည်း ရှင်းရှင်းလင်းလင်းနဲ့ စနစ်ကျပြီး တခြားသူအနေနဲ့ ကြည့်လိုက်ရင်လည်း နားလည်နိုင်တဲ့ပုံစံ ဖြစ်နေစေဖို့ လိုအပ်ပါတယ်။
ကိုယ့်ရဲ့ team, company ပေါ်မူတည်ပြီး ကိုက်ညီသင့်လျော်တဲ့ စံညွှန်းများနဲ့ လမ်းညွှန်ချက်များကို စနစ်တကျ ဆွေးနွေးတိုင်ပင်ပြီး ချမှတ်ထားဖို့လည်း လိုအပ်ပါတယ်။ သို့မှသာ coder ပေါ်မူတည်ပြီး code ရေးတဲ့ပုံစံတွေ ပြောင်းလဲနေမှာ မဟုတ်ဘဲ အားလုံးက ပုံစံတူအနေနဲ့ စနစ်တကျရှိနေကြမှာ ဖြစ်ပါတယ်။ ပြန်လည်ပြီး ပြုပြင်ရဖို့ ရှိလာတဲ့အခါမှာလည်း ပိုပြီး လွယ်ကူစေမှာဖြစ်ပါတယ်။
ဘာကြောင့် coding standard ဖြစ်ဖို့ လိုအပ်ပါသလဲ။
ယေဘုယျအားဖြင့် အချက် (၅) ချက် ရှိပါမယ်။
၁။ ရေးထားတဲ့ code တွေကို အလွယ်တကူနဲ့ ရှင်းရှင်းလင်းလင်း နားလည်စေနိုင်ရန်
၂။ ပြုပြင်ထိန်းသိမ်းရာမှာ အချိန်ကုန်သက်သာစေပြီး လွယ်ကူအဆင်ပြေစေရန်
၃။ Error နည်းစေရန်
၄။ တစ်ယောက်တစ်မျိုးပုံစံ ဖြစ်မနေဘဲ တူညီကောင်းမွန်တဲ့ အသင်းအဖွဲ့ဖြစ်နေစေရန်
၅။ ကုန်ကျစရိတ်ကို လျှော့ချစေရန် တို့ပဲ ဖြစ်ပါတယ်။
Coding standard ဖြစ်စေဖို့ ဖန်တီးရာမှာ ထည့်သွင်းစဥ်းစားရမယ့် guideline လေးတွေလည်း ရှိပါမယ်။ သတ်မှတ်ချက်တွေက ကျယ်ပြန့်တဲ့အတွက် ယေဘုယျအားဖြင့် လိုအပ်တာလေးတွေကို အနည်းငယ် ဖော်ပြပေးသွားပါမယ်။
(၁) Variable သတ်မှတ်ချက်
Variable တွေကို သတ်မှတ်ပြီး နာမည်ပေးရာမှာ ဘုံအနေနဲ့သုံးမယ့် ပုံစံမျိုး ဟုတ်မဟုတ်နဲ့ ဘယ်လို အမျိုးအစားလဲဆိုတာကို သေချာစဥ်းစားပြီးမှ ပေးသင့်ပါတယ်။ ဒါမှသာ တခြား member တွေက ထပ်ပြီး ရေးဖို့လိုတဲ့အခါ သို့မဟုတ် ပြန်ပြင်ဖို့လိုတဲ့အခါမျိုးမှာ အဆင်ပြေစေမှာပဲ ဖြစ်ပါတယ်။
(၂) Class, ID နာမည် သတ်မှတ်ချက်
Class တွေ၊ ID တွေကို နာမည်သတ်မှတ်ရာမှာလည်း အဓိပ္ပါယ်ရှိပြီး တိုတိုနဲ့ဆိုလိုရင်းကို နားလည်လွယ်တဲ့ ပုံစံကို ပေးသင့်ပါတယ်။ ဒါပေမယ့် အလွယ်တကူဆိုပြီး နံပါတ်တွေပဲ ပေးလိုက်တာကိုတော့ မပြုလုပ်သင့်ပါ။ အကြောင်းအရာရဲ့ function ပေါ်မူတည်ပြီးလည်း နာမည်ရွေးချယ်ပေးသင့်ပါတယ်။
(၃) ဘုံအပိုင်း (module) သတ်မှတ်ချက်
Module အနေနဲ့ တခြား page တွေအတွက်မှာပါ ရေးဖို့လိုတဲ့အပိုင်းတွေရဲ့ (ဥပမာ header, footer, title, text, section, …) ရေးမယ့်ပုံစံကို သေချာသတ်မှတ်ပြီး module အနေနဲ့ တစ်ခါတည်းရေးပေးထားဖို့ လိုအပ်ပါတယ်။
(၄) နားလည်ရခက်ပြီး ရှုပ်ထွေးတဲ့ coding ပုံစံ
ရေးလိုက်တဲ့ code က စနစ်တကျနဲ့ နားလည်ရလွယ်ကူနေစေဖို့ လိုအပ်ပါတယ်။ ထွက်လာမယ့် result အနေနဲ့က အဆင်ပြေတယ် ဆိုပေမယ့် နောက်ကွယ်မှာရှိနေတဲ့ code က တခြားသူအတွက် ရှုပ်နေခဲ့မယ်ဆိုရင်တော့ စနစ်ကျတဲ့ coding မဟုတ်ဘဲ ပြန်ပြုပြင်တဲ့အခါ အချိန်ပိုကြာစေပြီး code တွေပိုပြီး များသွားပါလိမ့်မယ်။ ဒါကြောင့် code ရေးတဲ့အခါ ရေရှည်အတွက် ဖြစ်လာနိုင်မယ့် အကြောင်းအရာတွေပါ သေချာထည့်တွေးထားပြီး ရေးသင့်ပါတယ်။
(၅) Code ဖြစ်နေပေမယ့် နားလည်လွယ်တဲ့ document ပုံစံ
Code တွေအနေနဲ့ရေးထားကြပေမယ့် ရေးထားတဲ့ code ကို ကြည့်လိုက်တာနဲ့ ဘယ်အပိုင်းကို ဘယ်နားမှာရေးထားကြတယ်ဆိုတာကို လွယ်လွယ်နဲ့ သိဖို့လည်း လိုအပ်ပါတယ်။ ဒါကြောင့် member တစ်ယောက်ချင်းစီက ကိုယ်ရေးတဲ့အပိုင်း သို့မဟုတ် page တွေကို သေချာလေး comment ရေးထားပေးဖို့ လိုပါတယ်။ Comment ကို စနစ်တကျနဲ့ သတ်မှတ်ထားကြသလို ရေးထားပေးမယ်ဆိုရင် code ပေါင်းတဲ့အခါမှာလည်း ပိုမြန်ပြီး အဆင်ပြေစေမှာ ဖြစ်ပါတယ်။
(၆) Code ရှင်းလင်းမှုနှင့် code အရေအတွက်
Code ရေးရာမှာ space, tab နဲ့ div အဖွင့်အပိတ်တွေကိုလည်း သေသပ်စွာ စနစ်တကျလေး ရေးပေးဖို့လိုပါတယ်။ ကိုယ်ရေးလိုက်တဲ့ code ကို ကြည့်လိုက်တာနဲ့ ရှင်းရှင်းလင်းလင်းဖြစ်နေပြီး သူ့ section နဲ့သူ တစ်ပိုင်းစီ ဖြစ်အောင်ရေးထားရပါမယ်။ Design အတိုင်းဖြစ်အောင်ရေးရပေမယ့် code ရေးတဲ့အခါ တတ်နိုင်သလောက် code အကြောင်းအရေအတွက်နည်းအောင် ရေးနိုင်ဖို့လည်း လိုအပ်ပါတယ်။ ဆိုလိုချင်တဲ့ပုံစံက အတူတူပဲဆိုပေမယ့် code အရေအတွက် နည်းနည်းနဲ့ လိုရင်းရောက်အောင် ရေးရပါမယ်။
အထက်မှာ ဖော်ပြပေးခဲ့တဲ့အချက်တွေကို လိုက်နာပြီး coding နဲ့ပတ်သက်တဲ့ guideline တွေ ချမှတ်၍ ရေးကြမယ်ဆိုရင်တော့ အရည်အသွေးကောင်းမွန်ပြီး စံနှုန်းများနဲ့ကိုက်ညီတဲ့ code ပုံစံတွေ ရရှိနိုင်မှာပဲ ဖြစ်ပါတယ်။ ရရှိဖို့လည်း လိုအပ်တဲ့အတွက်ကြောင့် စနစ်တကျလေးနဲ့ ရေးကြမယ်လို့လည်း မျှော်လင့်ပါတယ်။အဆုံးထိ အချိန်ပေးပြီး ဖတ်ရှုပေးခဲ့ကြတဲ့အတွက် ကျေးဇူးတင်ပါတယ်ရှင့်။