Coding Standard Coding standard ဆိုတာဘာလဲ။ Coding standard ဆို ကတော့ error ဖြစ်နိုင်ခြေနည်းနည်းနဲ့ efficient ဖြစ်ပြီး ကျစ်ကျစ်လစ်လစ်ဖြစ်တဲ့ code ကိုရေးနိုင်ဖို့အတွက် သတ်မှတ်ထားတဲ့ ruleတွေ၊ best practice တွေဖြစ်ပါတယ်။ inhouse project တွေမှာလဲ တခါတလေ ကိုယ်ပိုင်သတ်မှတ်ထားတဲ့ customized coding standard တွေရှိပါတယ်။ ~ Advantage of Coding Standard - Efficient : coding ကို standard တစ်ခုနဲ့ရေးတဲ့အခါပိုကျစ်လစ်တဲ့အတွက် efficient ပိုဖြစ်စေပါတယ်။ ရေးချင်တိုင်းရေး ထားမယ်ဆိုရင်တော့ spaghetti codeဖြစ်လာပါလိုက်မယ် ကြလာတာနဲ့အမျှ။ spaghetti code ဆိုတာ spaghetti လိုပဲ ရှုပ်ထွေးတဲ့ code ဖြစ်တာကိုပြောတာပါ။ အဲ့ ကျ ကိုယ်တိုင်တောင်ပြန်မကြည့်ချင်ဖြစ် နေတက်ပါတယ်။ - Easy to maintain : တူညီတဲ့ coding standard ကို coding team တစ်ခုလုံးကသုံးတဲ့အခါ တခုခုပြသနာတက်ရင် ကိုယ်တိုင်ရေးထားတာမဟုတ်လဲ ဖတ်လို့နားလည်လွယ်တဲ့အတွက် ထိမ်းသန်းရတာလွယ်စေတာပေါ။ - Easy to detect : error တစ်ခုခု တက်ပြီတိုတဲ့အချိန်ကျရင် ဘယ်က trace လိုက်ရမလဲဆိုတဲ့ပြသနာကြုံရတက်ပါတယ်။ အဲ့ပြသနာကိုလဲလျော့ကျစေပါတယ်။၏ - Faster development : code ရေးတဲ့အခါမှာလဲ ပိုပြီးလျင်မြန်ပြီး productive ဖြစ်စေပါတယ်။ - Reusable code : code တိုင်းကို စနစ်တကျ ရေးထားတဲ့အတွက် feature တစ်ခုထက်ရေးတဲအခါဖြစ်ဖြစ် function class တွေကို ပြန်သုံးလို့ရေတာ့ ပိုသက်သာတာပေါ့ ။ ~ Coding Standards & Best Practices To Follow - Industry specific coding standard : ကိုရေးတဲ့ programming language ပေါ် မူတည်ပြီး popular ဖြစ်တဲ့ Coding standard Guideline ရှိပါတယ်။ ဒါ အပြင်တချိုက framework ပေါ် မူတည်ပြီးထက်ကွဲသွားတာမျိုးလဲရှိပါတဲ့ နည်းပါးလေးပါ။ PHP အတွက် ဆိုရင် PHP-FIG Basic Coding Standards https://www.php-fig.org/psr/psr-1/ WordPress PHP Coding Standards (wordpress php codeအတွက်ပါ)\ https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/ Fuelphp, Laravel တိုလို့ framework မှာလဲ ထက် ရှိပါတယ် frameworkလိုက်ပြီး https://fuelphp.com/docs/general/coding_standards.html https://github.com/spatie/guidelines.spatie.be/blob/master/content/code-style/laravel-php.md Javascript အတွက် Google JavaScript Style Guide , Airbnb Javascript Style Guide https://google.github.io/styleguide/jsguide.html https://github.com/airbnb/javascript HTML/CSS အတွက် Google HTML/CSS Style Guide, W3School HTML Style Guide and Coding Convention https://google.github.io/styleguide/htmlcssguide.html https://www.w3schools.com/html/html5_syntax.asp Python အတွက် PEP8 Style Guide for Python Code https://peps.python.org/pep-0008/ Java အတွက် Google Java Style Guide, SEI CERT for Java https://wiki.sei.cmu.edu/confluence/display/java/SEI+CERT+Oracle+Coding+Standard+for+Java https://google.github.io/styleguide/javaguide.html C# အတွက် Microsoft C# Coding Conventions https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions Swift အတွက် Apple Swift Language Guidelines, Google Swift Style Guide https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html https://google.github.io/swift/ TypeScript အတွက် Google TypeScript Style Guide https://google.github.io/styleguide/tsguide.html R အတွက် Tidyverse R Style Guide https://style.tidyverse.org/ စသဖြင့်အမျိုးမျိုးရှိပါတယ်။ ~ Best practice for Code readability 1. Code အရေအတွက် နည်းနိုင်သမျှနည်းအောင်ရေးရျရျရပါတယ် 2. သင်လျော်တဲ့ naming convention ရှိရပါတယ်။ ဖတ်လို့နားလည်လွယ်ရပါတယ် var ab, var abc စသဖြင့်အဲလိုမဟုတ်ပဲ var order_status စသဖြင့် ပေးရပါမယ်။ 3. Indentation ကိုလဲသတိထားရပါမယ် indentationဆိုတာ code ရေးရင် space ဘယ်နချက်ခုံလဲ tabလားစသဖြင့်ကိုပြောတာပါ။ PHP (PHP-FIG Basic Coding Standards ) မှာ ဆို 4 space indentationဖြစ်ရမယ် tab မခုံရဘူးစသဖြင့်ပေါ။ 4. Single task function function တစ်ခုရေးပြီဆိုရင် taskတစ်ခုအတွက်ပဲရေးရပါမယ်။ function တစ်ခုထဲမှာ လုပ်ဆောင်ချက်တွေအများကြီးမထည့်ထားရပါဘူး ရေရှည်မှာမကောင်းပါဘူး။ တစ်ခုခုပြင်ချင်ရင် အမျာကြီးကို effect ဖြစ်စေတာပေါ့။ 5. DRY ( Don’t Repeat Yourself) principle ကိုသုံးရပါမယ်။ ရေးပြီးသွား function တွေ လိုရင်လိုသလိုပြန်သုံး ရပါမယ်အလိုအပ်ပဲ ရေးပြီးသား script ကို ထက်ရေးရတာမျိုးမဟုတ်ရပါဘူး။ ရေးရတာလဲသက်သာမယ် codeလဲကျစ်လစ်တာပေါ့ ။ 6. အလျားလိုက် ရျည်တဲ့ codeကို ရှောင်ရပါမယ်။ horizontal တိုရမယ် လိုအပ်သမျှ နောက် တစ်ကြောင်းဆင်းပြီး ရေးရမယ်ပေါ။ vertically ပဲ ရှည်ရပါမယ်။ ဒါမှသာဖတ်ရလွယ်မှာပါ။ 7. Deep Nesting ကိုလျောင်ကျင်ရပါမယ်။ nesting ဆိုတာ တစ်ခုနဲ့တစ်ခု အချိတ်အဆက်တွေနဲ့ရေးထားတာမျိုးပေါ့။ function လေးကို code ၅ကြောင်းလောက်နဲမြင်လို့တိုတယ်ထင်ပြီး trace လိုက်လိုက်တာ file 30 လောက်မှာ မွှေနောက်နေအောင်ပတ်လိုက်ရမယ်ဆိုတာမျိုးပေါ့ ။ ဒါကြောင့် nesting ကိုလျော့ ချရမယ်။ 8. SQL codeတွေကို Capitalize နဲ့ရေးရမယ်။ SQL code ကအသေးလဲရေးလဲရတာပဲဘာလို့ အကြီးလဲတွေးမိနေတယ်မလား ဘာလို့ဆို မျက်စိမှာတာပေါ့ table ,column name တွေက အသေးနဲ့ရေးတော့ ဖတ်ရတာသက်သာတာပေါ့ ။ 9. Comment ရေးရပါမယ်. ကိုေ၇းထာတဲ့ function class ဖြစ်ဖြစ် အလုပ်လုပ်တယ် လိုအပ်တဲ့အချက်အလက်တွေရေးပေးရပါမယ်။ဒါမှာတာပြန်ဖတ်ရင်နားလည်လွယ်မှာပါ။ 10. Variable တစ်ခု ကလဲ သူ့ purpose နဲ့သူရပါမယ်။ general nameပေးထားပြီး ဘာအတွက်သုံးမြန်းမသိရင် တိုင်ပတ်မှာမို့ပါ။ မလိုအပ်ပဲကုန်တဲ့အချိန်လျော့စေ တာပေါ။ 11. Code တွေကို အမြဲ backupလုပ်ရပါမယ်။ git စဖြင့် တက်ရမယ်ပေါ့ သေသေးလေးရေးထားတာကအစ တင်ရပါမယ်။ဒါမှသာ တစ်ခုခုဖြစ်သွားရင် ကျန်မှာပါ။ laptop ပျက်စီးတာတို့။ developer ဆုံးသွားတာတို့ human faise နဲ့ controlလိုပ်လို့မရတဲ့ factor တွေရှိတဲ့အတွက်ပါ. Coding ဆိုတာ developerရဲ့ အချိန် skill thinking တွေများကြီးပေးထားတာဖြစ်တဲ့အတွက် နည်း လေးကအစတန် ဖိုး ရှိပါတယ်. ဟုတ်ပါပြီ ထက်ရေးလိုက်ရင် ဖတ်လို့မဆုံးဖြစ်မာမို့ ဒီမှာပြရပ်လိုက်ပါမယ်. Coding standard ဆိုဘာလဲ ဘာေလး တွေသိဖိုလိုလဲဆိုအခုေလာက် ဆိုရင်တော့သိလောက်ပြီထင်ပါတယ်။ ဖတ်ပေးတဲ့အတွက် ကျေးဇူးပါ တောင်းဆိုထားတဲ့ articles လေးတွေကို ဒီအပတ်ထဲတင်ပေးပါမယ် ဗျ. နည်းနည်းကြာသွားလို့မေ့လိုက်ပြီမထင်ပါတယ် တစ်ယောက်ချင်းစီရင် request ကိုမှတ်ထားပါတယ်ဗျ။ အားပေးလို့ကျေးဇူးပါဗျ။ Facebook မှာရော Telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။Facebook page ၊ telegram channel နဲ့ Youtube Channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ Facebook - @callmedevbypeter Telegram - @callmedevbypeter Youtube - Call Me Dev by Peter သိချင်တဲ့အကြောင်းအရာရှိရင် comment မှာရေးသွားပါဗျ။ #callmedevbypeter #advandages_of_coding_standard #coding_standards #DRY #web_development

Coding Standard Coding standard ဆိုတာဘာလဲ။ Coding standard ဆို ကတော့ error ဖြစ်နိုင်ခြေနည်းနည်းနဲ့ efficient ဖြစ်ပြီး ကျစ်ကျစ်လစ်လစ်ဖြစ်တဲ့ code ကိုရေးနိုင်ဖို့အတွက် သတ်မှတ်ထားတဲ့ ruleတွေ၊ best practice တွေဖြစ်ပါတယ်။ inhouse project တွေမှာလဲ တခါတလေ ကိုယ်ပိုင်သတ်မှတ်ထားတဲ့ customized coding standard တွေရှိပါတယ်။ ~ Advantage of Coding Standard - Efficient : coding ကို standard တစ်ခုနဲ့ရေးတဲ့အခါပိုကျစ်လစ်တဲ့အတွက် efficient ပိုဖြစ်စေပါတယ်။ ရေးချင်တိုင်းရေး ထားမယ်ဆိုရင်တော့ spaghetti codeဖြစ်လာပါလိုက်မယ် ကြလာတာနဲ့အမျှ။ spaghetti code ဆိုတာ spaghetti လိုပဲ ရှုပ်ထွေးတဲ့ code ဖြစ်တာကိုပြောတာပါ။ အဲ့ ကျ ကိုယ်တိုင်တောင်ပြန်မကြည့်ချင်ဖြစ် နေတက်ပါတယ်။ - Easy to maintain : တူညီတဲ့ coding standard ကို coding team တစ်ခုလုံးကသုံးတဲ့အခါ တခုခုပြသနာတက်ရင် ကိုယ်တိုင်ရေးထားတာမဟုတ်လဲ ဖတ်လို့နားလည်လွယ်တဲ့အတွက် ထိမ်းသန်းရတာလွယ်စေတာပေါ။ - Easy to detect : error တစ်ခုခု တက်ပြီတိုတဲ့အချိန်ကျရင် ဘယ်က trace လိုက်ရမလဲဆိုတဲ့ပြသနာကြုံရတက်ပါတယ်။ အဲ့ပြသနာကိုလဲလျော့ကျစေပါတယ်။၏ - Faster development : code ရေးတဲ့အခါမှာလဲ ပိုပြီးလျင်မြန်ပြီး productive ဖြစ်စေပါတယ်။ - Reusable code : code တိုင်းကို စနစ်တကျ ရေးထားတဲ့အတွက် feature တစ်ခုထက်ရေးတဲအခါဖြစ်ဖြစ် function class တွေကို ပြန်သုံးလို့ရေတာ့ ပိုသက်သာတာပေါ့ ။ ~ Coding Standards & Best Practices To Follow - Industry specific coding standard : ကိုရေးတဲ့ programming language ပေါ် မူတည်ပြီး popular ဖြစ်တဲ့ Coding standard Guideline ရှိပါတယ်။ ဒါ အပြင်တချိုက framework ပေါ် မူတည်ပြီးထက်ကွဲသွားတာမျိုးလဲရှိပါတဲ့ နည်းပါးလေးပါ။ PHP အတွက် ဆိုရင် PHP-FIG Basic Coding Standards https://www.php-fig.org/psr/psr-1/ WordPress PHP Coding Standards (wordpress php codeအတွက်ပါ)\ https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/ Fuelphp, Laravel တိုလို့ framework မှာလဲ ထက် ရှိပါတယ် frameworkလိုက်ပြီး https://fuelphp.com/docs/general/coding_standards.html https://github.com/spatie/guidelines.spatie.be/blob/master/content/code-style/laravel-php.md Javascript အတွက် Google JavaScript Style Guide , Airbnb Javascript Style Guide https://google.github.io/styleguide/jsguide.html https://github.com/airbnb/javascript HTML/CSS အတွက် Google HTML/CSS Style Guide, W3School HTML Style Guide and Coding Convention https://google.github.io/styleguide/htmlcssguide.html https://www.w3schools.com/html/html5_syntax.asp Python အတွက် PEP8 Style Guide for Python Code https://peps.python.org/pep-0008/ Java အတွက် Google Java Style Guide, SEI CERT for Java https://wiki.sei.cmu.edu/confluence/display/java/SEI+CERT+Oracle+Coding+Standard+for+Java https://google.github.io/styleguide/javaguide.html C# အတွက် Microsoft C# Coding Conventions https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions Swift အတွက် Apple Swift Language Guidelines, Google Swift Style Guide https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html https://google.github.io/swift/ TypeScript အတွက် Google TypeScript Style Guide https://google.github.io/styleguide/tsguide.html R အတွက် Tidyverse R Style Guide https://style.tidyverse.org/ စသဖြင့်အမျိုးမျိုးရှိပါတယ်။ ~ Best practice for Code readability 1. Code အရေအတွက် နည်းနိုင်သမျှနည်းအောင်ရေးရျရျရပါတယ် 2. သင်လျော်တဲ့ naming convention ရှိရပါတယ်။ ဖတ်လို့နားလည်လွယ်ရပါတယ် var ab, var abc စသဖြင့်အဲလိုမဟုတ်ပဲ var order_status စသဖြင့် ပေးရပါမယ်။ 3. Indentation ကိုလဲသတိထားရပါမယ် indentationဆိုတာ code ရေးရင် space ဘယ်နချက်ခုံလဲ tabလားစသဖြင့်ကိုပြောတာပါ။ PHP (PHP-FIG Basic Coding Standards ) မှာ ဆို 4 space indentationဖြစ်ရမယ် tab မခုံရဘူးစသဖြင့်ပေါ။ 4. Single task function function တစ်ခုရေးပြီဆိုရင် taskတစ်ခုအတွက်ပဲရေးရပါမယ်။ function တစ်ခုထဲမှာ လုပ်ဆောင်ချက်တွေအများကြီးမထည့်ထားရပါဘူး ရေရှည်မှာမကောင်းပါဘူး။ တစ်ခုခုပြင်ချင်ရင် အမျာကြီးကို effect ဖြစ်စေတာပေါ့။ 5. DRY ( Don’t Repeat Yourself) principle ကိုသုံးရပါမယ်။ ရေးပြီးသွား function တွေ လိုရင်လိုသလိုပြန်သုံး ရပါမယ်အလိုအပ်ပဲ ရေးပြီးသား script ကို ထက်ရေးရတာမျိုးမဟုတ်ရပါဘူး။ ရေးရတာလဲသက်သာမယ် codeလဲကျစ်လစ်တာပေါ့ ။ 6. အလျားလိုက် ရျည်တဲ့ codeကို ရှောင်ရပါမယ်။ horizontal တိုရမယ် လိုအပ်သမျှ နောက် တစ်ကြောင်းဆင်းပြီး ရေးရမယ်ပေါ။ vertically ပဲ ရှည်ရပါမယ်။ ဒါမှသာဖတ်ရလွယ်မှာပါ။ 7. Deep Nesting ကိုလျောင်ကျင်ရပါမယ်။ nesting ဆိုတာ တစ်ခုနဲ့တစ်ခု အချိတ်အဆက်တွေနဲ့ရေးထားတာမျိုးပေါ့။ function လေးကို code ၅ကြောင်းလောက်နဲမြင်လို့တိုတယ်ထင်ပြီး trace လိုက်လိုက်တာ file 30 လောက်မှာ မွှေနောက်နေအောင်ပတ်လိုက်ရမယ်ဆိုတာမျိုးပေါ့ ။ ဒါကြောင့် nesting ကိုလျော့ ချရမယ်။ 8. SQL codeတွေကို Capitalize နဲ့ရေးရမယ်။ SQL code ကအသေးလဲရေးလဲရတာပဲဘာလို့ အကြီးလဲတွေးမိနေတယ်မလား ဘာလို့ဆို မျက်စိမှာတာပေါ့ table ,column name တွေက အသေးနဲ့ရေးတော့ ဖတ်ရတာသက်သာတာပေါ့ ။ 9. Comment ရေးရပါမယ်. ကိုေ၇းထာတဲ့ function class ဖြစ်ဖြစ် အလုပ်လုပ်တယ် လိုအပ်တဲ့အချက်အလက်တွေရေးပေးရပါမယ်။ဒါမှာတာပြန်ဖတ်ရင်နားလည်လွယ်မှာပါ။ 10. Variable တစ်ခု ကလဲ သူ့ purpose နဲ့သူရပါမယ်။ general nameပေးထားပြီး ဘာအတွက်သုံးမြန်းမသိရင် တိုင်ပတ်မှာမို့ပါ။ မလိုအပ်ပဲကုန်တဲ့အချိန်လျော့စေ တာပေါ။ 11. Code တွေကို အမြဲ backupလုပ်ရပါမယ်။ git စဖြင့် တက်ရမယ်ပေါ့ သေသေးလေးရေးထားတာကအစ တင်ရပါမယ်။ဒါမှသာ တစ်ခုခုဖြစ်သွားရင် ကျန်မှာပါ။ laptop ပျက်စီးတာတို့။ developer ဆုံးသွားတာတို့ human faise နဲ့ controlလိုပ်လို့မရတဲ့ factor တွေရှိတဲ့အတွက်ပါ. Coding ဆိုတာ developerရဲ့ အချိန် skill thinking တွေများကြီးပေးထားတာဖြစ်တဲ့အတွက် နည်း လေးကအစတန် ဖိုး ရှိပါတယ်. ဟုတ်ပါပြီ ထက်ရေးလိုက်ရင် ဖတ်လို့မဆုံးဖြစ်မာမို့ ဒီမှာပြရပ်လိုက်ပါမယ်. Coding standard ဆိုဘာလဲ ဘာေလး တွေသိဖိုလိုလဲဆိုအခုေလာက် ဆိုရင်တော့သိလောက်ပြီထင်ပါတယ်။ ဖတ်ပေးတဲ့အတွက် ကျေးဇူးပါ တောင်းဆိုထားတဲ့ articles လေးတွေကို ဒီအပတ်ထဲတင်ပေးပါမယ် ဗျ. နည်းနည်းကြာသွားလို့မေ့လိုက်ပြီမထင်ပါတယ် တစ်ယောက်ချင်းစီရင် request ကိုမှတ်ထားပါတယ်ဗျ။ အားပေးလို့ကျေးဇူးပါဗျ။ Facebook မှာရော Telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။Facebook page ၊ telegram channel နဲ့ Youtube Channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ Facebook - @callmedevbypeter Telegram - @callmedevbypeter Youtube - Call Me Dev by Peter သိချင်တဲ့အကြောင်းအရာရှိရင် comment မှာရေးသွားပါဗျ။ #callmedevbypeter #advandages_of_coding_standard #coding_standards #DRY #web_development

CallMeDevbyPeter
Since 2022