Design

What is Beautiful Code?

What is beautiful code?

က်ြန္မကေတာ့ web designer အျဖစ္၀င္ေရာက္လုပ္ကိုင္ေနတဲ့ မေကသီထြန္း ျဖစ္ပါတယ္။ ဒီတပတ္မွာေတာ့ What is beautiful code? ဆိုတဲ့ အေၾကာင္းနဲ႔ ပတ္သတ္ပီးေျပာျပခ်င္ပါတယ္။

Software Engineer, Developer, Programmer မ်ားအေနနဲ႔ က်ြန္မတို႔ ေရးလိုက္တဲ့ code ေတြနဲ႔ ပတ္သတ္လို႔ သတိထားစရာေတြ အမ်ားၾကီးရွိပါတယ္။ အဲအခ်က္မ်ားထဲမွာ-

ဖတ္ရွဳရန္ လြယ္ကူျခင္း(Readability)
ျပဳျပင္ထိန္းသိမ္းရန္ လြယ္ကူျခင္း(Maintainability)
လ်င္ျမန္စြာတည္ေဆာက္ႏိုင္မွု(Speed of Development)
လွပသပ္ရပ္မွု(The elusive quality of beauty)

စတဲ့ အခ်က္ေတြလဲပါရွိပါတယ္။

ဒီအခ်က္ေတြအားလံုးအတြက္ အေျခခံအက်ဆံုး လိုအပ္ခ်က္ကေတာ့ ရိုးစင္းမွု(Simplicity) ျဖစ္ပါတယ္။ coding ေရးတာဟာ စပီးအလုပ္၀င္မယ့္သူေတြအတြက္ေတာ့ အခက္အခဲရွိက်လိမ့္မယ္လို႔ ထင္ပါတယ္။ beautiful code ကိုေရးဖို႔ အတြက္ဆိုရင္ ပိုပီးခက္ခဲလိမ့္မယ္လိို႔ ထင္ပါတယ္။ ရိုးရွင္းတဲ့ coding ေရးႏိုင္ဖို႔အတြက္ အလုပ္မွာ experience မ်ားတဲ့သူေတြအတြက္ ပိုပီးလြယ္ကူမယ္လို႔ ထင္ပါတယ္။ Beautiful code ဆိုတာ ရွင္းလင္းစြာ format အတိုင္းေရးထားပီး တျခားသူတေယာက္က ကိုယ္ေရးထားတဲ့ coding ကိုၾကည့္ပီး အလြယ္တကူဖတ္ႏိုင္ နားလည္ႏိုင္တာကို beautiful code လို႔ေခၚပါတယ္။

simple coding ထဲမွာ variable name ေပးတာကအစ meaningful ျဖစ္တဲ့ name ေတြကိုဘဲေပးသင့္ ပါတယ္။ ရိုးရွင္းတဲ့ code နဲ႔ေရးထားမယ္ဆိုရင္ အလုပ္မွာ အားသာခ်က္ေတြ အမ်ားၾကီးရွိလာပီး အရမ္းကို အေထာက္အကူျပဳလာမွာျဖစ္ပါတယ္။

အလုပ္လုပ္ရာမွာ အဖြဲ႔လုိုက္လုပ္ရတာျဖစ္တဲ့အတြက္ ကိုယ့္ရဲ့ team မွာ ကိုယ္ေရးထားတဲ့ code ကို တျခားသူေတြ နားလည္ဖို႔က အဓိက အေရးအၾကီးဆံုးျဖစ္ပါတယ္။ ကိုယ့္ရဲ့ code ကို ရိုးရွင္းစြာ ေရးထားမွာသာ members အခ်င္းခ်င္း လြယ္ကူစြာ ဖတ္ႏိုင္ပီး ျပန္ပီး အလြယ္တကူ modify ျပန္လုပ္ႏိုင္မွာ ျဖစ္ပါတယ္။ အလြယ္တကူ နားလည္ႏိုင္တဲ့အတြက္ team members ေတြကို ျပန္ရွင္းျပတဲ့အခ်ိန္ကို ေလ်ာ့နည္းေစတဲ့အျပင္ coding ေရးဖို႕ ၾကာခ်ိန္ေတြကိုလဲ ေလ်ာ့ခ်ေပးႏိုင္မွာျဖစ္ပါတယ္။ ထို႔အျပင္ ရိုးရွင္းတဲ့ code ေတြကို format က်စြာ ေရးျခင္းအားျဖင့္ beautiful code ေတြကို ရရွိလာမွာျဖစ္ပါတယ္။ ေနာက္တပတ္မွာလဲ IT နဲ႔ ပတ္သတ္တဲ့ knowledge ေတြကို ထပ္ပီးေျပာျပခ်င္ပါေသးတယ္။ အားလံုးကို ေက်းဇူးတင္ပါတယ္ရွင္။

Reference:

http://www.mmshare.org/

Hello

Leave a Reply

Your email address will not be published. Required fields are marked *