در برنامهنویسی اولین موضوعی که مدّنظر قرار میگیرد، ماشین و سختافزار است. اینکه کامپیوتر چگونه کامپیوتر کدی را که مینویسیم، خوانده و تفسیر میکند. با این وجود، این نکته که چه افرادی قرار است کد را بخوانند و با آن کار کنند نیز اهمیت دارد. چه با یک تیم همکاری کنید و اینکه خودتان پروژه را پیش ببرید، همیشه دانستن نحوه نوشتن کامنت و ایجاد ساختار برای کسانی که کد شما را میخوانند، مفید خواهد بود. در این آموزش به نحوه کامنتنویسی در جاوا اسکریپت خواهیم پرداخت. با ما همراه باشید.
کامنت ها ابزارهایی آگاهیدهنده در سورسکد یک برنامه هستند که البته توسط برنامه مفسّر نادیده گرفته میشوند. بنابراین هیچ تأثیر خروجی کد نخواهند داشت. امّا در عین حال، کامنتها برای توضیح جهتگیری کد و اینکه چه کاری میبایست انجام دهد، بسیار کمککننده هستند.
ورود به پروژه کدنویسیای که کامنتها در آن به خوبی نوشته نشده باشند، برای هر توسعهدهندهای مشکل است. ضمن اینکه با فاصله گرفتن از زمان و مفهوم برنامه، شخص برنامهنویس نیز ممکن است برخی اهداف کدهای خود را فراموش کند. کامنتنویسی اولیه میتواند عادت خوبی در برنامهنویسی برای شما باشد و جلوی بسیاری از مشکلات را در آینده بگیرد.
قالب کامنتنویسی در جاوا اسکریپت
بیایید نگاهی گذرا داشته باشیم هب دو نوع قالب مختلف از کامنتنویسی در جاوا اسکریپت.
کامنتهای تکخطی با دو علامت اسلش (//) نوشته میشوند.
// This is a comment
تمام کاراکترهایی که بلافاصله بعد از علامت // تا انتهای خط توسط جاوا اسکریپت نادیده گرفته میشوند.
کامنتهای بلوکی که گاهی از آنها با نام کامنتهای چندخطی نیز یاد میشوند، با برچسب (/*) آغاز میگردند و با علامت (*/) نیز پایان مییابند. اگر با CSS آشنایی داشته باشید، حتماً با مفهوم کامنتهای سطح بلوکی نیز سر و کار داشتهاید.
/* This is a comment */
هر چیزی که بین برچسب آغازین و پایانی در بلوک کد بالا بیاید، نادیده گرفته خواهد شد.
هر دو نوع کامنتهای تکخطی و چندخطی که در بالا ذکر شد، برای توضیح بیشتر کد طراحی شدهاند. این موضوع را در نمونه کد “Hello, World!” بهتر نشان داده میشود.
// Print "Hello, World!" to the console console.log("Hello, World!");
در هنگام کامنتنویسی در جاوا اسکریپت، تورفتگی آنها را با کدی که بعد از آنها میآید، تنظیم کنید.
// Initialize a function function alphabetizeOceans() { // Define oceans variable as a list of strings const oceans = ["Pacific", "Atlantic", "Indian", "Antarctic", "Arctic"]; // Print alphabetized array to the console console.log(oceans.sort()); }
به خاطر داشته باشید که کامنتها به اندازه کدها برای برنامه اهمیت خواهند داشت. ضرر کامنتهای تاریخگذشته بیشتر از زمانی است که اصلاً کامنتی وجود نداشته باشد. بنابراین، حتماً کامنتها را نیز همزمان با سایر بخشهای کد بروزرسانی نمایید.
کامنتهای درونخطی
کامنت تکخطی در صورتی که در انتهای خط کد قرار گیرند، با عنوان کامنتهای درونخطی شناخته میشوند.
let x = 99; // assign numerical value to x let y = x + 2; // assign the sum of x + 2 to y
کامنتهای درونخطی میتوانند برای توضیح سریع یک محتوای کوتاه و خاص استفاده شوند. این کامنتها میبایست تنها به محتوای کد همان خط اشاره داشته باشند و بنابراین، واضحترین نوع کامنتنویسی در جاوا اسکریپت را خواهند داشت.
به خاطر داشته باشید که هیچ راهی برای پایان دادن به یک کامنت تکخطی در همان خط وجود ندارد. بنابراین، دقت کنید که هیچگونه کدی بعد از علامت // قرار ندهید. مثال زیر این موضوع را بهتر نشان میدهد.
for (let i = 0; i === 10; i++) // for loop that runs ten times { // Running this code results in a syntax error }
با اینکه کامنتهای تکخطی میتوانند بسیار مفید باشند، ولی آنها را میبایست به صورت پراکنده به کار برد. چرا که کدهایی که با مجموعهای متراکم از کامنتهای تکخطی همراه باشند، فوقالعاده شلوغ میشوند و خواندن آنها مشکل است.
کامنتهای بلوکی
کامنتهای بلوکی یا کامنتهای چندخطی، توضیحات طولانیای است که برای معرفی و توضیح بخشی از یک کد استفاده میشوند. معمولاً این نوع از کامنتنویسی در جاوا اسکریپت، در بالای یک فایل و یا قبل از یک بلوک کد پیچیده قرار میگیرد.
/* Initialize and invoke a the greetUser function to assign user's name to a constant and print out a greeting. */ function greetUser() { const name = prompt("What is your name?"); console.log("Hello ," + name + "! How are you?"); } greetUser();
البته گاهی ممکن است با نسخهای نسبتاً متفاوت از قالب کامنت بلوکی برخورد کنید که با علامت /** شروع میشود و در سمت چپ کامنت بلوکی با ستارههایی همراه باشد.
/** * Initialize constant with an array of strings. * Loop through each item in the array and print * it to the console. */ const seaCreatures = ["Shark", "Fish", "Octopus"]; for (const seaCreature of seaCreatures) { console.log(seaCreature); }
گاهی اوقات این نوع کامنت حاوی جزئیاتی در مورد فایل برنامه، از جمله نام اسکریپت، نسخه و نویسنده است.
اگر به تازگی وارد حوزه جاوا اسکریپت شدهاید، ممکن است بر اساس نیزا به یادگیری و توضیح کامل، کامنتهای بلندی بنویسید. امَا هر چه در زمینه توسعه جاوا اسکریپت به پیش میروید، پاسخ به جهتگیری و یا پیشزمینه کد برایتان اهمیت خواهد داشت.
کامنتکردن برای آزمایش کد
کامنتنویسی جاوا اسکریپت میتواند برای جلوگیری از اجرای بخشی از کد و عیبیابی نیز مورد استفاده قرار گیرد. این موضوعی است که از آن با عنوان «کامنتکردن» یاد میشود.
در صورتی که خطایی در کدنویسی شما وجود داشته باشد، کامنتکردن بخشهای مختلف میتواند جلوی اجرای آنها را بگیرد و در نتیجه، نقطه بروز مشکل راحتتر پیدا شود. همچنین میتوان با این کار به مقایسه نتایج حاصل از رویکردهای مختلف در کد پرداخت.
// Function to add two numbers function addTwoNumbers(x, y) { let sum = x + y; return sum; } // Function to multiply two numbers function multiplyTwoNumbers(x, y) { let product = x * y; return product; } /* In this example, we're commenting out the addTwoNumbers function, therefore preventing it from executing. Only the multiplyTwoNumbers function will run */ // addTwoNumbers(3, 5); multiplyTwoNumbers(5, 9);
هر دو نوع کامنتهای تکخطی وبلوکی، بسته به ابعاد بخشهای مختلف کد میتوانند برای کامنتکردن استفاده شوند.
نکته: کامنتکردن میبایست فقط برای اهداف آزمایشی استفاده شود. در نسخه نهایی کد نباید بخشهایی به صورت «کامنتشده» وجود داشته باشد.
جمعبندی
کدهای جاوا اسکریپت توسط کامپیوتر تفسیر میشوند. در عین حال، همیشه این کدها توسط دیگر برنامهنویسان و همینطور شخص برنامهنویس در آینده خوانده میشوند. به همین دلیل است که صرف زمان برای کامنتنویسی در جاوا اسکریپت میتواند برای آینده پروژه برای شما و همکارانتان بسیار مفید واقع شود.