Software Engineer, Developer, Programmer များအနေနဲ့ ကျွန်တော်တို့ ရေးလိုက်တဲ့ Code တွေနဲ့ ပတ်သက်လို့ သတိထားစရာတွေ အများကြီး ရှိပါတယ်။ အဲဒီအချက်များထဲမှာ −
စတဲ့ အချက်များလဲ ပါရှိပါတယ်။
ဒီအရည်အသွေးများ အားလုံးအတွက် အခြေခံ အကျဆုံး လိုအပ်ချက်ကတော့ "ရိုးစင်းမှု (Simplicity)" ဖြစ်ပါတယ်။
ဂရိ အတွေးအခေါ် ပညာရှင် ပလေတိုရဲ့ စကားတစ်ခွန်း ရှိပါတယ်။
Beauty of style and harmony and grace and good rhythm depends on simplicity. - Plato
"စတိုင်၊ ဟန်ချက်ညီမှု၊ ကျက်သရေရှိမှု နဲ့ စည်းဝါးကျနမှု ဆိုတဲ့ အရာတွေ အားလုံးဟာ ရိုးစင်းမှု အပေါ်မှာ တည်ရှိတယ်" လို့ ပြောချင်တာလို့ ကျွန်တော် ထင်ပါတယ်။ တကယ်တော့ ရိုးစင်းတဲ့ အလှအပဟာ ဘယ်တော့မှ မရိုးတဲ့ အလှအပလည်း ဖြစ်ပါတယ်။
လှပတဲ့ ဆော့ဖ်ဝဲ Code တွေဆိုတာ ဘယ်လိုဟာမျိုးကို ဆိုလိုတာလဲ။ ဒါဟာ အတော်ဖြေရခက်တဲ့ မေးခွန်းတစ်ခု ဖြစ်ပါတယ်။ အချက်အလက် အကြောင်းအရာ များစွာမှာလည်း မှီခိုမှု ရှိနေနိုင်ပါတယ်။ ကျွန်တော်တို့ သင်ယူလေ့လာခဲ့ရတဲ့ ပညာရေးနောက်ခံ စတာတွေ အပေါ်မှာလည်း မှီခိုမှု ရှိတတ်ပါတယ်။ ပမာပြရရင် ဝိဇ္ဇာဘာသာရပ်တွေကို သင်ကြားခဲ့တဲ့သူတွေနဲ့ သိပ္ပံဘာသာရပ်တွေကို သင်ကြားခဲ့တဲ့သူတွေရဲ့ အလှအပ အပေါ်မှာ ရှုမြင်ပုံ၊ သို့မဟုတ် အလှအပကို ချဉ်းကပ်ပုံတွေဟာ မတူညီတတ်ကြပါဘူး။ ဆော့ဖ်ဝဲတစ်ခုရဲ့ အလှအပကို သုံးသပ်တဲ့ နေရာမှာ ဝိဇ္ဇာပညာရှင်တွေက အနုပညာမျက်စိနဲ့ ကြည့်တတ်ကြပါတယ်။ သိပ္ပံသမားတွေကတော့ အချိုးအစား ညီညွတ်ခြင်း စတာတွေနဲ့ သုံးသပ်တတ်ကြပြီး ပုံသေနည်းတွေ ထုတ်ကြည့်ဖို့ အတွက် လျှောလို့ရသမျှ လျှော့ချဖို့ ကြိုးစားတတ်ကြပါတယ်။ ဘယ်သူ့ဘက်ကပဲ ကြည့်ကြည့် ရိုးစင်းမှုကတော့ အခြေခံ အကျဆုံးအချက်ဆိုတာ နှစ်ဘက်လုံးက ငြင်းလို့ မရတဲ့ အချက် ဖြစ်ပါတယ်။
ထင်ရှားပြီး လူသုံးများတဲ့ Open Source ဆော့ဖ်ဝဲတွေကို လေ့လာကြည့်ရင် လှပတဲ့ ဆော့ဖ်ဝဲ Code များမှာရှိတဲ့ တူညီတဲ့ အချက်တွေကို မြင်ရပါလိမ့်မယ်။ အထင်ရှားဆုံး အသိသာဆုံး တူညီတဲ့ အချက်ကတော့ ရိုးစင်းမှု (Simplicity) ဖြစ်ပါတယ်။ ဆော့ဖ်ဝဲတစ်ခု သို့မဟုတ် စနစ်တစ်ခုရဲ့ လုပ်ဆောင်ချက်ဟာ ဘယ်လောက်ပဲ ရှုပ်ထွေးနေပါစေ၊ အထဲမှာပါတဲ့ အစိတ်အပိုင်း တစ်ခုချင်းစီကိုတော့ ရိုးစင်းလွယ်ကူအောင် ထိန်းသိမ်းထားတာ မြင်ရပါလိမ့်မယ်။ ရိုးစင်းတဲ့ Object တစ်ခုစီက၊ လုပ်ဆောင်ချက် တစ်ခုချင်းစီကို ကိုင်တွယ် ဖြေရှင်းကြပါတယ်။ သက်ဆိုင်ရာ Method များမှာ အဓိပ္ပါယ်ရှိတဲ့ အမည်များပေးထား ကြပါတယ်။
အတိုချုပ် ပြောရင်တော့ လှပတဲ့ ဆော့ဖ်ဝဲ Code တွေဆိုတာ ရိုးစင်းတဲ့ Code တွေပါပဲ။ ပါဝင်တဲ့ အစိတ်အပိုင်း အသီးသီးဟာ ရိုးစင်းတဲ့ လုပ်ဆောင်ချက် တွေကို ကိုင်တွယ် ဆောင်ရွက်ပါတယ်။ စနစ်တစ်ခုလုံးရဲ့ အခြားသော အစိတ်အပိုင်းများနဲ့ ချိတ်ဆက်ရာမှာ ရိုးစင်းတဲ့ တာဝန်၊ ရိုးစင်းတဲ့ တုန့်ပြန်မှုများနဲ့ ဆက်သွယ်ထားတတ် ကြပါတယ်။ ဒီလို ရိုးစင်းလွယ်ကူတဲ့ အချိတ်အဆက် ရှိမှလည်း ကျွန်တော်တို့ရဲ့ ဆော့ဖ်ဝဲစနစ်ကြီးတစ်ခုလုံးကို သန့်ရှင်း ရိုးစင်းပြီး စမ်းသပ်ရ လွယ်ကူတဲ့ (Clean, simple and testable) Code တွေနဲ့ ဒီဆော့်ဝဲကို အသုံးပြုနေသမျှ ကာလပတ်လုံး အလွယ်တကူ ပြုပြင်ထိန်းသိမ်းမှု ပြုလုပ်နိုင်မှာပါ။
အလှအပဆိုတာ ရိုးစင်းမှုကနေ ပေါက်ဖွားလာတာ ဖြစ်ပါတယ်။ အဲဒါကြောင့် အလှအပကို ရိုးစင်းမှုထဲမှာပဲ ရှာဖွေ တွေ့ရှိနိုင်ပါလိမ့်မယ်။
ဒီဆောင်းပါးဟာ O'Reilly ကထုတ်တဲ့ 97 Things Every Programmer Should Know စာအုပ်ထဲက "Beauty Is in Simplicity" ဆောင်းပါးကို ဆီလျော်အောင် မြန်မာ ဘာသာပြန်ထားတာ ဖြစ်ပါတယ်။ဒီဆောင်းပါးရဲ့ မူရင်း စာရေးသူကတော့ Jørn Ølmheim ဖြစ်ပါတယ်။
Jorn ဟာ ဆော့ဖ်ဝဲ Developer, Architect, စာရေးဆရာ၊ Presenter အဖြစ်နဲ့ ၁၀ နှစ်ကျော်ကြာ အတွေ့အကြုံ ရင့်ကျက်သူတစ်ဦး ဖြစ်ပါတယ်။ လောလောဆယ် Statoil အတွက် အလုပ်လုပ်နေပါတယ်။ သုတေသန လုပ်ငန်းတွေ အများဆုံးလုပ်နေတာ ဖြစ်ပြီး၊ Java, Ruby, Python နဲ့ High performance computing လုပ်ငန်းတွေအတွက် Fortran, C/C++ ဘာသာစကားများကို အသုံးပြု ရေးသားနေတာ ဖြစ်ပါတယ်။ သူအဓိက စိတ်ဝင်စားတဲ့ နယ်ပယ်တွေထဲမှာ − agile practices with emphasis on developer craftsmanship, ပရိုဂရမ် ဘာသာစကားများနဲ့ အလိုအလျောက် လုပ်ငန်းဆောင်ရွက်ပေးသည့် စနစ်များ (Autonomous systems) လည်း ပါဝင်ပါတယ်။ ဂျွန်ဟာ အားလပ်ချိန်များမှာ စကီးစီးခြင်း၊ တောင်တက်ခြင်း၊ မိသားစုအတွက် အချိန်ပေးခြင်းများကို လုပ်တတ်ပါတယ်။
ဂျွန်ရဲ့ ဝက်ဘ်ဆိုက်က http://www.olmheim.com ဖြစ်ပြီး Twitter Account ကတော့ http://www.twitter.com/joelmheim ဖြစ်ပါတယ်။
ကျန်တဲ့ ဆောင်းပါးလေးတွေကိုလည်း အခုလိုပဲ ကြိုးစားဘာသာပြန်ပြီး မြန်မာညီအကို မောင်နှမများအတွက် ဝေမျှသွားပါ့မယ်။ မူရင်းဆောင်းပါးကိုတော့ http://bit.ly/SimpleBeauty မှာ ဖတ်နိုင်ပါတယ်။
This work is licensed under a Creative Commons Attribution 3
Add new comment