دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۲
  • آبان

جلسه ۴۸ : توصیه های کدنویسی در جاوا اسکریپت

  • دسته‌بندی‌ها :
جلسه ۴۸ : توصیه های کدنویسی در جاوا اسکریپت
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، در بخش قبلی مرور کلی بر قواعد و اصول کدنویسی و نام گذاری صحیح در جاوا اسکریپت داشتیم، در این بخش نیز به نحوی مباحث بخش قبلی را ادامه داده و به بررسی چند مورد مهم از توصیه های کدنویسی در جاوا اسکریپت می پردازیم، رعایت کردن این توصیه ها نیز از پیچیده شدن کدهای شما جلوگیری کرده و روند کد نویسی را بهبود می بخشد، در ادامه ی این بخش جهت بررسی توصیه های کدنویسی در جاوا اسکریپت با ما همراه باشید.

      توصیه های کدنویسی در جاوا اسکریپت

      در ادامه ی این مبحث شما را با چند مورد از توصیه های کدنویسی در جاوا اسکریپت که ساده اما مهم هستند آشنا می کنیم.

      در این مبحث به شما خواهیم آموخت که بهتر است از متغیرهای عمومی، کلمه کلیدی new، عملگر == و تابع ()eval اجتناب کنید.

      اجتناب از متغیرهای عمومی

      به حداقل رساندن استفاده از متغیرهای عمومی توصیه می شود.

      که البته این شامل انواع داده ها، اشیاء و توابع می شود.

      متغیرها و توابع عمومی را می توان با استفاده از اسکریپت های دیگر تغییر داد.

      سعی کنید بیشتر از متغیرهای محلی استفاده کنید.

      همیشه متغیرهای محلی را تعریف کنید

      تمام متغیرهایی را که داخل توابع استفاده می کنید، به صورت محلی (داخل همان تابع) تعریف کنید.

      متغیرهای محلی را باید با کلمه ی کلیدی var  تعریف کرد، در غیر این صورت آن ها به عنوان متغیرهای عمومی شناخته می شوند.

      نکته : البته در حالت Strict اجازه ی استفاده از متغیرهایی که هنوز تعریف نشده اند را ندارید.

      تعریف در بالا

      این خوب است که سعی کنید که تمام تعاریف خود را در بالای اسکریپت یا تابع قرار دهید.

      این به این خاطر است :

      • پاک شدن کد.
      • یک مکان واحد برای جستجوی متغیرهای محلی فراهم می کنید.
      • اجتناب از متغیرهای ناخواسته (ضمنی) عمومی، ساده تر شود.
      • کاهش احتمال اعلام مجدد ناخواسته ی تعاریف.

      مثال : 

      این نیز برای متغیرهای حلقه ای است:

      مثال : 

      البته در حالت پیش فرض جاوا اسکریپت تمام تعاریف را به بالا می برد.

      مقداردهی اولیه متغیرها

      این خوب است که در زمان تعریف متغیر ها یک مقدار اولیه به آن های اختصاص دهید.

      این به این خاطر است:

      • احتمال پاک شدن کد ها.
      • یک مکان واحد برای مقداردهی اولیه متغیرها را فراهم می شود.
      • اجتناب از مقادیر نامشخص و ناخواسته.

      مثال : 

      نکته : متغیرهای ابتدایی ایده ای از استفاده در نظر گرفته شده (و نوع داده مورد نظر) را ارائه می دهد.

      هرگز آبجکت های عددی رشته و یا Boolean را تعریف نکنید.

      همیشه اعداد، رشته ها یا boolean ها را به عنوان مقادیر اولیه تکرار کنید. نه به عنوان آبجکت.

      اعلام این نوع به عنوان آبجکت، سرعت اجرا را کاهش داده و عوارض جانبی تند و زننده ای را ایجاد می کند:

      مثال : استفاده از آبجکت ها
      خودتان امتحان کنید »

      و یا حتی بدتر :

      مثال : نمونه ی بدتر
      خودتان امتحان کنید »

      از ()new Object استفاده نکنید

      • از {} به جای ()new Object استفاده کنید.
      • از “” به جای ()new String استفاده کنید.
      • از ۰ به جای ()new Number استفاده کنید.
      •  از false به جای ()new Boolean استفاده کنید.
      • از [] به جای ()new Array استفاده کنید.
      • از /()/ به جای ()RegExp استفاده کنید.
      • از function (){} به جای ()new Function استفاده کنید.

      مثال : مثال موارد فوق
      خودتان امتحان کنید »

      مراقب تبدیل نوع خودکار باشید

      مراقب باشید که اعداد می تواند به طور تصادفی به رشته ها یا NaN (غیر عددی) تبدیل شوند.

      در جاوا اسکریپت یک متغیر می تواند نوع داده های مختلفی داشته باشد و یک متغیر می تواند نوع داده خود را تغییر دهد:

      مثال : تغییر نوع متغیر
      خودتان امتحان کنید »

      هنگام انجام عملیات ریاضی، جاوا اسکریپت می تواند اعداد را به رشته تبدیل کند:

      مثال : تبدیل اعداد به رشته
      خودتان امتحان کنید »

      محاسبات ریاضی بین دو رشته، خطایی تولید نمی کند، اما نوع NaN (غیر عددی) را نشان می دهد:

      مثال :  محاسبه ی بین دو رشته
      خودتان امتحان کنید »

      از عملگر مقایسه ای === استفاده کنید

      عملگر مقایسه ای == همیشه قبل از مقایسه (برای تطبیق انواع داده ) تبدیل نوع می کند.

      اما عملگر === مقایسه را روی هر دو مورد مقدار و نوع انجام می دهد :

      مثال : عملگر ===
      خودتان امتحان کنید »

      اختصاص مقادیر به پارامترها

      اگر یک تابع با پارامتر اشتباه فراخوانی شود، مقدار پارامتر آن تابع به صورت undefined مشخص می شود.

      مقادیر Undefined می تواند کد را دچار مشکل کنند، پس بهتر است همیشه یک مقدار اولیه به پارامترها اختصاص بدهید.

      مثال : اختصاص مقدار به پارامترها
      خودتان امتحان کنید »

      ECMAScript 2015 اجازه می دهد پارامترهای پیش فرض در تابع فراخوانی شوند:

      مثال : 

      در پایان switch ها حتما از default استفاده کنید.

      مثال : تنظیم default در پایان switch
      خودتان امتحان کنید »

      از تابع ()eval استفاده نکنید

      تابع ()eval برای اجرای text به عنوان کد استفاده می شود. تقریبا در همه موارد نباید از آن استفاده کرد.

      از آنجا که اجازه می دهد تا کد دلخواه اجرا شود، این مسئله یک مشکل امنیتی را نشان می دهد.

      کلام آخر

      در این بخش به ارائه ی چند مورد از توصیه های کدنویسی در جاوا اسکریپت پرداختیم که در عین سادگی اما بسیاری از مشکلات احتمالی و حتمی کدهای برنامه ی شما را حل می کنند.

      QR:  جلسه ۴۸ : توصیه های کدنویسی در جاوا اسکریپت
      به اشتراک بگذارید