کامنتها در برنامهنویسی برای ارائهی زمینه و توضیح بیشتر دربارهی کد، یا برای گذاشتن یادداشت برای خودتان و دیگران استفاده میشوند.
کامنتها خطها یا بلوکهایی از متن هستند که وقتی کد شما اجرا میشود، توسط موتور جاوااسکریپت نادیده گرفته میشوند. آنها فقط برای افرادی وجود دارند که کد را میخوانند، چه خودتان باشید و چه شخص دیگری.
جاوااسکریپت دو روش برای اضافه کردن کامنت به کد در اختیار شما میگذارد: کامنتهای تکخطی و کامنتهای چندخطی.
کامنتهای تکخطی با استفاده از دو اسلش رو به جلو (//) ساخته میشوند. در اینجا یک مثال آمده است:
// I am a single line comment in JavaScript
این نوع کامنت برای توضیحهای کوتاه یا روشنسازیهای مختصر بسیار مناسب است.
در اینجا یک مثال واقعی از فایلهای پروژهی برنامهی درسی freeCodeCamp آورده شده است:
// This is to allow English to build without having to download the i18n files.
// It fails when trying to resolve the i18n-curriculum path if they don't exist.
const curriculumLocale = process.env.CURRICULUM_LOCALE ?? 'english';
const I18N_CURRICULUM_DIR = path.resolve(
__dirname,
curriculumLocale === 'english' ? '.' : 'i18n-curriculum/curriculum'
);
نگران این نباشید که سعی کنید بفهمید این کد دقیقاً چه کاری انجام میدهد، چون از چیزی که تا اینجا یاد گرفتهاید پیشرفتهتر است. در عوض، روی کامنتی که توسعهدهنده گذاشته تمرکز کنید. این کامنت توضیح مهمی دربارهی این میدهد که چرا این کد وجود دارد.
کامنتهایی مثل این برای کسانی که در قالب تیم کار میکنند، به دو دلیل مهم هستند:
- توسعهدهندگان دیگرِ پروژه هدف این کد را متوجه میشوند.
- کمک میکند از تغییر دادن یا حذف کردن غیرضروری کد بدون مشورت با تیم جلوگیری شود؛ کاری که ممکن است به باگها یا مشکلاتی منجر شود.
نوع دیگری از کامنت، کامنتهای چندخطی هستند. در اینجا سینتکس پایهی آن آمده است:
/*
I am a multiline comment.
This is helpful for longer explanations.
*/
کامنتهای چندخطی زمانی مفید هستند که لازم باشد توضیحها، شرحها یا یادداشتهای طولانیتری در کدتان بنویسید.
بیایید دوباره نگاهی به فایلهای پروژهی برنامهی درسی freeCodeCamp بیندازیم تا ببینیم کامنتهای چندخطی در دنیای واقعی چگونه میتوانند استفاده شوند.
/* Since there can be more than one way to complete a certification (using the
legacy curriculum or the new one, for instance), we need a certification
field to track which certification this belongs to. */
const dupeCertifications = [
{
certification: 'responsive-web-design',
dupe: '2022/responsive-web-design'
}
];
const hasDupe = dupeCertifications.find(
cert => cert.dupe === meta.superBlock
);
درست مثل قبل، همهی کد جاوااسکریپت را نادیده بگیرید، چون از مفاهیمی استفاده میکند که هنوز آموزش داده نشدهاند. در عوض، روی کامنتی که توسعهدهنده گذاشته تمرکز کنید.
یک توسعهدهنده در تیم، یا حتی یک مشارکتکنندهی جدید که روی پروژه کار میکند، میتواند بفهمد چرا این بخش از کد اینجا قرار دارد و قبل از کار کردن روی این قسمت از پروژه، زمینهی کامل آن را درک کند.
با اینکه کامنتها در برنامهنویسی مفید هستند، مهم است که از بیش از حد کامنت گذاشتن خودداری کنید. لازم نیست برای تکتک خطهای کد کامنت بنویسید، بهخصوص اگر کد ساده و واضح باشد و خودش گویای منظورش باشد.
در اینجا مثالی از استفاده از کامنت برای توضیح دادن چیزهای بدیهی آمده است:
// This code uses the const keyword to create a new variable called price.
// We are assigning the number 10 to the price variable.
const price = 10;
در این موقعیت، نیازی به اضافه کردن هیچ کامنتی نیست، چون خود کد به اندازهی کافی واضح است. هدف این است که خوانایی بهتر شود، نه اینکه کد را با توضیحهای غیرضروری شلوغ کنیم.
اگر هنگام یاد گرفتن کدنویسی بخواهید به پروژههای شخصی خودتان کامنت اضافه کنید، اشکالی ندارد. اما وقتی شروع میکنید روی پروژههای واقعی همراه با توسعهدهندگان دیگر کار کنید، مهم است که برای کدی که خودش واضح و قابلفهم است از کامنت استفاده نکنید.
همچنین مهم است که از کامنتها برای توجیه کردن کدی که گیجکننده، بیش از حد پیچیده، یا بد نوشته شده استفاده نکنید. در چنین شرایطی، بهتر است کدتان را ریفکتور (refactor) کنید، یا تغییر بدهید، تا توسعهدهندگان دیگر بهتر متوجه شوند چه اتفاقی در حال رخ دادن است.
کامنتها ابزارهای قدرتمندی برای مستندسازی کد شما و آسانتر کردن فهم آن هستند. شما باید از کامنتها برای ارائهی زمینه یا گذاشتن یادداشت برای خودتان و دیگران استفاده کنید.
سوالات
کدامیک از موارد زیر بهدرستی یک کامنت تکخطی در جاوااسکریپت ایجاد میکند؟
<!-- This is a comment -->/* This is a comment */// This is a comment# This is a comment
چه زمانی به جای کامنت تکخطی از کامنت چندخطی استفاده میکنید؟
- وقتی لازم دارید یک خط از کد را موقتاً غیرفعال کنید.
- وقتی میخواهید توضیح کوتاهی دربارهی یک متغیر بنویسید.
- وقتی لازم دارید یک بخش بزرگ از کد را توضیح دهید یا اطلاعات مفصلی ارائه کنید.
- وقتی در حال نوشتن کامنتهای HTML هستید.
کدامیک از موارد زیر یک روش خوب برای استفاده از کامنتها در کد است؟
- برای تکتک خطهای کد کامنت بنویسید.
- از کامنتها برای ارائهی زمینه و گذاشتن یادداشت برای خودتان و سایر توسعهدهندگان استفاده کنید.
- از کامنتها برای توضیح دادن حتی سادهترین کدها استفاده کنید.
- برای تمیز نگه داشتن کد، کامنتها را کاملاً کنار بگذارید.
