بایدها و نبایدها برای تازه‌کاران در JavaScript

از آنجا که روز Brendan Eich آن را ایجاد کرد، JS بسیاری از تغییرات، تغییرات، افزوده و چارچوب ها را به بدن خود اضافه کرده است. پس از یک عمر آشفتگی، JS شکل گرفته است که چگونه ما آن را در حال حاضر در سال 2018 می بینیم، و در عین حال، انتظار می رود در آینده بیشتر رشد کند.


امروز، من فکر می کنم وضعیت فعلی جاوا اسکریپت بهترین توصیف شده توسط نقل قول اتوود است: "هر برنامه ای که می تواند در جاوا اسکریپت نوشته شود، در نهایت در جاوا اسکریپت نوشته خواهد شد." تقریبا هر چیزی که تصور می کنید می تواند در جاوا اسکریپت نوشته شود.


در این پست ما به شما راهنمایی می کنیم که چه کاری باید انجام دهید و چه چیزی را انجام ندهید، برای هر دو تازه کارهای JS و برای کسانی که تجربه قبلی در این زبان داشته اند.


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

متغیرها

وقتی به نام متغیرها می آید، استفاده از قانون camelCase به طور کلی بهترین عمل است. این همان چیزی است که ما در JSGuru آنها را نامگذاری می کنیم و هنگامی که کل تیم از این قانون استفاده می کند، به آن کمک می کند؛ زیرا این امر به حفظ یکپارچگی کد کمک می کند.


همچنین مهم است که نام متغیر کوتاه، مختصر و توصیفی باشد. این باید به همان اندازه که ممکن است به دلیل این واقعیت است که کد به اشتراک گذاشته شده است بیشتر از زمان. خواننده باید قادر باشد آنچه را که در آن متغیر ذخیره می شود یا آنچه که به آن اشاره می کند بدون آن که آن را در کنسول ثبت کند و کد خود را بی پاسخ کند. یک نام متغیر خوب باید به خواننده درباره چگونگی استفاده از آن در یک قسمت از کد بپردازد و به ارزش یا هدف آن که از نقطه نظر کاربر استفاده می شود اشاره نکند. به عنوان مثال، "userAnswer" نام متغیر بهتر از "userInput" است، همانطور که به وضوح اشاره دارد، از دیدگاه کدبندی به یک سؤال پیش از آن است. شما دقیقا می دانید که چه چیزی به آن اشاره می کند. به همان ترتیب، از استفاده از نام عمومی مانند num و arr اجتناب کنید، و حداقل آن را با اطلاعات مربوط به آنچه که به آن اشاره میکنید اضافه کنید، به عنوان مثال "selectedColors". به همان ترتیب، "wantsSubscriptions" یا "shouldRemember" بهتر از "trueOrFalse" است. استفاده از فعل ها و چندگانگی / انحصاری برای کمک به نشان دادن ارزش، به جای برخی از مخفف مربوط به نوع ارزش در داخل یک نام.

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


اجازه دهید یا در جای خود متوقف شود

از زمان تصویب استاندارد ES6 (همچنین به عنوان ECMAScript 2015)، متغیرها باید با استفاده از کلمات کلیدی let and const اعلام شوند. دلایل رها کردن کلمه کلیدی var این است که باید معنای واضحتری در مورد هدف متغیر و زمینه ای که در آن استفاده می شود را ارائه دهد. Const به طور کلی باید اشاره ای به مقادیری باشد که در طول زمان تغییر نخواهد کرد، حتی اگر در موارد اشیاء و آرایه ها، آنها مجاز به تغییر آنها باشند. از سوی دیگر، کلمه کلیدی اجازه می دهد نشان می دهد که یک مقدار ممکن است تغییر کند یا یک مقدار متفاوت به متغیر خاص اختصاص داده شود. اگر شما سعی می کنید مقدار const را تغییر دهید، جاوا اسکریپت به شما در مورد آن می گوید و به شما در اجتناب از اشکالات کمک می کند. یک مورد استفاده خوب برای const یک مرجع به یک عنصر DOM است که همیشه می خواهید در آن متغیر نگه دارید. به طور کلی، هنگامی که مقدار آن انتظار می رود که متغیر باشد، کلید واژه به معنای استفاده با حلقه یا الگوریتم های ریاضی است. متغیرهایی که با اجازه و const اعلام می شوند، افزایش پیدا نمی کنند، مانند آنهایی که با var بیان می شوند.

نظرات

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


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

کد قالب

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


بهره وری

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

حالت STRICT

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


شاید مهمترین چیز در این فهرست با آخرین استانداردهای جاوا اسکریپت باشد.


اول، کد شما مدرن است و احتمالا نزدیک به آنچه که در آن زمان استانداردهای صنعت است، نوشته شده است. علاوه بر این با استفاده از جدیدترین ویژگی ها، شما و دیگر برنامهنویسان تشویق میشوند و نیاز به مرورگرها برای پیادهسازی این ویژگیها را فراهم میآورید و از آنها پشتیبانی میکنید. در حال حاضر، این کار با کمک ابزارهای پرینت از قبیل بابل انجام می شود. اگر با بابل آشنا نباشید، به سادگی آن را «ترجمه» جدیدترین کد جاوااسکریپت را به قالب ای که مرورگرهای امروز می توانند درک کنند. بابل خواندن کد جاوا اسکریپت و کامپایل جدیدترین ویژگی های شما را به ES5 می دهد، که همه مرورگر ها می توانند آن را درک کنند. برخی از مرورگرها از ویژگی های ES6 در حال حاضر پشتیبانی می کنند، اما استفاده از بابل و ابزارهای مشابه هنوز لازم است، زیرا ما می خواهیم جاوا اسکریپت شما توسط تمام مرورگرها و نسخه های قدیمی تر نیز پشتیبانی شود.


برای کسب اطلاعات بیشتر در مورد بابل، من توصیه می کنم از وبسایت خود بازدید کنید و یک اسناد عالی داشته باشید که به سرعت شروع به کار می کند.


چه چیز بیشتر، زندگی شما را ساده تر می کند جدیدترین ویژگی های جاوا اسکریپت شگفت انگیز هستند و با هر ویژگی بهتر و بهتر می شوند. آنها به شیوه های قدیمی کارهای انجام شده، به عنوان مثال، با استفاده از Promises یا Async / Await، برای جلوگیری از داشتن هرم عیب یابی، بهبود می یابند.


یادگیری چیزهای جدید به معنای ترک منطقه آسایش شماست، اما به من اعتماد نکنید، هنگامی که آنها را انتخاب میکنید، هرگز به عقب نگاه نکنید. چندین ویژگی که من توصیه میکنم به دنبال روشهای آرایه (نقشه، کاهش، فیلتر کردن)، async / wait، و البته، مورد علاقه من - String Literals است.


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