۸ نکته اساسی که رعایت کردن آن باعث می‌شود کدهای جاوااسکریپتی شما سریع‌تر اجرا شوند؟

ترجمه و تالیف : علی کاظمی
تاریخ انتشار : 08 اردیبهشت 99
خواندن در 4 دقیقه
دسته بندی ها : جاوا اسکریپت

بر اساس نظر‌سنجی سایت STACKOVERFLOW برای ۷ سال پیاپی جاوااسکریت به عنوان محبوب‌ترین زبان برنامه‌نویسی جهان شناخته شده است. محبوبیت استفاده از جاوااسکریپت باعث شد که این زبان به پراستفاده‌ترین زبان برای کدنویسی طراحی‌سایت تبدیل شود. نکته جالبی که باید به آن توجه کنید این است که بازدیدکنندگان از سایت شما توقع دارند که محتویات سایت شما در زمان ۲ ثانیه بارگذاری شود اگر این اتفاق رخ ندهد سایت شما را ترک می‌کنند. رسیدن به این زمان کار بسیار دشواری است و این به این معنی می‌باشد که شما باید کد‌های جاوااسکریپتی خود را بسیار بهینه کنید تا بتوانید به این زمان برسید. در این مقاله سعی می‌کنم به شما نکاتی را یاد بدهم که با استفاده از آن‌ها بتوانید کدهای خلاصه‌تری بنویسید وبه طور کلی عملکرد برنامه خود را بهتر کنید.

۱.دسترسی به DOM را به حداقل برسانید

دسترسی مستقیم به عناصر صفحه برای شما مشکلاتی را به جود می‌آورد. اگر برنامه شما  دفعات زیادی به عناصر صفحه دسترسی دارد شما می‌توانید دسترسی آن را به یک‌بار محدود کنید وآن را به عنوان متغییر محلی استفاده کنید.به‌خاطر داشته باشید که اگر مقدار آن را از DOM حذف کنید باید مقدار آن را برابر با null قرار بدهید تا از موضوع نشت‌حافظه جلوگیری کنید.

React و VUE از virtual DOM استفاده می‌کنند.

کتابخانه‌های نسل جدید و مدرن مانند React و vue دسترسی به صفحه را ساده کرده‌اند و از چیزی به نام virtual DOM استفاده می‌کنند وکارآیی برنامه شما رابه شدت بالا می‌برند وهمچنین توسعه‌دهنده دیگر لازم نیست نگران مشکلات دسترسی به صفحه باشد .بنابراین اگر شما از خود جاوااسکریپت بدون‌هیچ کتابخانه یا فریم‌ورکی استفاده می‌کنید باید میزان دسترسی  به DOM را تا جایی که می‌توانید به حداقل برسانید.

۲.کدها و وابستگی‌های بدون استفاده را پاک کنید

این نکته در هر زبان برنامه‌نویسی قابل استفاده است. پاک کردن کدها و وابستگی‌های بدون استفاده این اطمینان را به شما می‌دهد که برنامه شما سریع‌تر کامپایل شود و کارآیی بیشتری داشته باشد.اگر ویژگی خاصی را مشاهده کردید که کاربران از آن استفاده نمی‌کنند می‌توانید تمام کد‌های مربوط به این ویژگی را از برنامه خود پاک کنید.با تجزیه‌و‌تحلیل می‌توانید به این نتیجه برسید که کاربر از کدام قسمت از برنامه شما استفاده می‌کند و اگر ویژگی‌ را مشاهده کردید که اصلا مورد استفاده قرار نمی‌گیرد می‌توانید بعد از صحبت با هم تیمی‌های خود آن ویژگی را از برنامه پاک کنید. این کار باعث می‌شود برنامه شما سریع‌تر بارگذاری شود.

همچنین ما خیلی علاقه داریم که از پکیج‌ها و وابستگی‌های خارجی غیر ضروری در برنامه خود استفاده کنیم مطمئن شوید از پکیج‌هایی که واقعا نیاز دارید ونمی‌توانید خودتان آن‌ها را بنویسید استفاده می‌کنید. پکیج‌های مختصر وکاربردی این اطمینان را به شما می‌دهند که برنامه شما سریع‌تر باشد وبا کارآیی بهتری کار کند.

۳.از APIها به صورت ناهمزمان استفاده کنید

برای ارتباط برقرار کردن با APIها از کد‌نویسی به صورت نامتقارن وناهمزمان استفاده کنید چون باعث می‌شود سرعت وکارآیی برنامه شما به شدت بالا برود. استفاده از این روش به جای روش کدنویسی هم‌زمان که در جاوااسکریپت وجود دارد باعث می‌شود درخواست‌های شما در یک صف قرار بگیرند و در زمان مورد نیاز اجرا شوند.

۴. متغییر‌های خود را به صورت عمومی تعریف نکنید

یک نصیحتی که همیشه از همکاران قدیمی خود که تجربه برنامه‌نویسی با جاوااسکریپت را دارند می‌شنوید این است که تا جایی که امکان دارد از متغییر‌های عمومی استفاده نکنید. دلیل این حرف این است که وقتی شما متغییرها را به صورت عمومی تعریف می‌کنید مدت زمان بیشتری طول می‌کشد تا موتور جاوااسکریپتی هنگام اجرای برنامه آن‌ها را پیدا کند.دلیل دیگر این حرف بخاطر تداخل اسمی هست که امکان دارد به وجود بیاید. همه کدهای جاوااسکریپتی در یک فضای عمومی به اشتراک گذاشته می‌شوند اگر شما تعداد زیادی متغییر به صورت عمومی تعریف کرده باشید امکان تداخل در این نام‌ها که در صفحه‌هات مختلف تعریف شده‌اند زیاد است.

مثلا متغییر که در مثال زیر تعریف شده چون به صورت عمومی تعریف شده همه‌جا در دسترس می‌باشد.

var name = "Adhithi Ravichandran";
 // can access name  
function myFunction>(){  
// can access name  
}

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

function myFunction(){ 
var name = "Adhithi Ravichandran"; 
// can access name 
}

همیشه سعی کنید متغییرهای خود را در محدوده محلی تعریف کنید مگر در موارد ضروری که نمی‌توانید. شما می‌توانید برای تعریف متغییر از LET و CONST استفاده کنید که به جای VAR محدوده محلی را برای تعریف متغییر در اختیار شما می‌گذارند.

۵.از نشت حافظه جلوگیری کنید

استفاده بیش از حد از حافظه یا نشت حافظه از عوامل مهمی است که کارآیی برنامه را تا حد زیادی کاهش می‌دهد. نشت حافظه باعث می‌شود که از حافظه برنامه به صورت پیش‌رونده و بیهوده استفاده شود به صورتی که در نهایت تمام حافظه آزاد موجود مصرف می‌شود و در بعضی موارد باعث می‌شود کاربر از برنامه شما به صورت ناخواسته خارج شود به عبارتی دیگر برنامه شما را خراب می‌کند.این یک مشکل رایج است که به عنوان توسعه‌دهنده با آن روبه‌رو می‌شوید برای این‌که مطمئن شوید کارآیی برنامه شما کم نمی‌شود باید از کد‌های خود مطمئن باشید که باعث ایجاد نشت حافظه نمی‌شوند. برای پیدا کردن نشت حافظه می‌توانید از ابزار توسعه مرورگر کروم استفاده کنید. به‌طور منظم تب کارآیی در مرورگر را برای چک کردن وجود نشت حافظه در برنامه خود را چک کنید.

۶.از قدرت ذخیره‌سازی استفاده کنید

ذخیره کردن فایل‌ها در مرورگر سرعت بارگذاری و همچنین کارآیی سایت شما را به شدت افزایش می‌دهد. مرورگر سایتی را که برای دومین بار بار‌گذاری می‌شود بدون اینکه از اول تمام اطلاعات آن سایت را از سرور بارگذاری کند از اطلاعاتی که به صورت کپی در اولین بازدید از سایت مورد نظر درون خود ذخیره کرده استفاده می‌کند که اینکار باعث می‌شود کارآیی بدون وقفه‌ای را برای کاربران به ارمغان بیاورد. سرویس‌های ارائه‌دهنده جاوااسکریپت می‌توانند از فایل‌های ذخیره شده استفاده کنند تا کابران در حالت آفلاین هم بتوانند از برنامه استفاده کنند.این یک امر اساسی در برنامه‌های پیش‌رونده تحت وب می‌باشد(PWA).

۷.کدهای خود را به حداقل برسانید

کوچک‌سازی کدهای جاوااسکریپت یک روش معمول است که در تمام تیم‌های برنامه‌نویسی آن را می‌بینید. این کار به معنی حذف کردن عناصر سنگین و بدون استفاده در کدها جاوااسکریپت است. مراحل کوچک‌سازی کدها شامل: پاک‌کردن کامنت‌ها، فضاهای خالی، کوتاه کردن نام متغییرها و توابع می‌باشد. شما می‌توانید این کار را با ابزارهای مثل Google Closure compiler یا ابزارهای آنلاینی مثل JS Compress، JS minifier انجام دهید. این کار باعث افزایش چشم‌گیر کارآیی برنامه شما می‌شود پس این مرحله را فراموش نکنید.

۸.در استفاده از حلقه‌ها محتاط باشید

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

کارآیی برنامه از موارد بسیار مهم می‌باشد که باعث می‌شود کاربرانی که از برنامه شما استفاده می‌کنند از آن رضایت داشته باشند. موارد بسیار زیاد دیگری هم برای بهینه‌سازی کدهای شما وجود دارد که می‌توانید از آن استفاده کنید.

برای یادگیری جامع جاوااسکریپت اینجا کلیک کنید.

منبع