سلام خدمت شما بازدیدکنندگان عزیز. امیدوارم تا به این قسمت از سلسله مقالات آموزشی کدنویسی تمیز ما رو همراهی کرده باشین و از مقالات آموزشی ما بهره برده باشین. هدف ما از انتشار این مقالات آموزشی، کمک کردن به شما در نوشتن کدهای خوانا و افزایش بهرهوری در کدنویسی شماست. اگه هنوز این سلسه مقالات آموزشی رو شروع نکردین، میتونید از طریق لینک زیر به مجموعه مقالات کدنویسی تمیز دسترسی داشته باشین.
در این قسمت از سلسله مقالات آموزشی کدنویسی تمیز، قصد داریم تا به اهمیت کامنتها و کار کردن با اونها بپردازیم. در این مقاله به موضوعات زیر پرداخته میشه.
کامنتها چی هستند و چه کاربردی دارند؟
بایدها و نبایدهای کامنت گذاری چیا هستند؟
چه جوری میتونیم با دونستن یه سری اصول درباره کامنتنویسی، کدهای خواناتری داشته باشیم؟
کامنت چیست؟
کامنت (Comment) یا توضیح، در زبانهای برنامهنویسی، بخشهایی از برنامه هستند که توسط کامپایلر یا مفسر اجرا نمیشن و همونطور که از اسمشون هم مشخصه، نقش توضیحات رو برای ما دارند. در واقع زمانهایی پیش میاد که برنامهنویس قصد داره در بخشهای مختلفی از کدها، یه سری توضیحات رو بنویسه. این توضیحات اگرچه توسط کامپایلر نادیده گرفته میشن و بود و نبودشون فرقی برای کامپیوتر نداره، اما وجود اونها به سایر برنامهنویسان کمک میکنه که درک بهتری از کدها داشته باشند.
یکی دیگه از کاربردهای کامنتها، زمانهایی هستش که شما قصد دارین برای رفع اشکال یا دیباگ (Debug) برنامهتون، کاری کنید که خطوط مشخصی از کدهاتون اجرا نشه، یکی از راههاش اینه که شما بیاین اون کدها رو پاک کنید، اما چون نوشتن مجدد اون بخش از کدها زمانبر هستش. شما در این مواقع میتونید به طور موقت اون کدها رو کامنت کنید تا بتونید برنامهتون رو رفع اشکال کنید و بعد از رفع شدن اون میتونید یا اون بخش از کدهای کامنتشده رو پاک کنید یا اونها را با اعمال یه سری تغییرات از حالت کامنت در بیارین.
ایدهی کلیدی کامنت نویسی
اگه بخوام یه ایدهی کلیدی برای فلسفهی استفاده از کدها معرفی کنیم، میتونیم بگیم:
هدف از کامنت گذاری کمک کردن به خواننده درباره دانستن کد به اندازه نویسنده آن است.
توی کدنویسی، کسی که اون کد رو برای بار اول نوشته با کسی که قراره در آینده اون کدها رو مطالعه کنه، قطعا درک یکسانی از کارکرد برنامه ندارند. مسلما، اون فردی که کدنویس اولیه برنامه بوده قطعا یه سری پیش دانستههایی بیشتری نسبت به سایر افراد داره. کامنتنویسی در چنین مواقعی کمک میکنه که اون برنامهنویس، سایر پیشفرضهای ذهنی خودش رو هم به نوعی منتقل کنه. به این صورت که توسعهدهندگان بعدی اون برنامه درک نسبتا کاملی به اندازه توسعه دهنده اولیه داشته باشند.
چه زمانهایی نباید کامنت کرد
همونطور که اشاره کردیم، کامنتها به ما کمک میکنند که درک کاملتری از برنامه داشته باشیم. اما لازمه که در استفاده از کامنتها به چند تا نکته دقت داشته باشیم:
کامنتها اگرچه بخشهایی از برنامه هستند که اجرا نمیشند اما میشه گفت که مثل سایر خطوط قابل اجرای برنامه هزینهبر هستند. منظور از هزینه چیه؟
یعنی مثل کدهای واقعی، فضا اشغال میکنند و باعث افزایش تعداد خطوط برنامه میشن.
یا مثلا، یه هزینهی دیگهای هم که شامل میشه، زمان و انرژیای هستش که برای خوندن و نوشتن اونها باید صرف بشه.
پس به طور کلی باید به این نکته دقت داشته باشیم که در استفاده از کامنتها زیادهروی نکنیم و به اندازه از اونها استفاده کنیم. حالا توصیه چیه؟
ایدهی کلیدی: چه زمانهایی کامنت نکنیم؟
اگه بخوام بگم که چه زمانهایی نباید کامنت کنیم میشه گفت:
درباره حقایقی که به سرعت از خود کد میتوانند استخراج شوند کامنت نکنید.
به بیان خودمونی، الکی کامنت نکنید. مثلا اگه میبینید یه سری از بخشهای کدها، اونقدر ساده و واضح هستند که با خوندن همون خط از کدها میشه متوجه منطق و روال برنامه شد دیگه نباید برای اون بخشها کامنت کرد چون عملا یه کاری بیهوده هستند. کاربرد صحیح کامنتها، زمانهایی هستند که برنامهنویسهای دیگه به تنهایی با خوندن کدهای برنامه نمیتونند به آسونی متوجه منطق و روال برنامه بشند. اینجا هستش که نیاز به کامنت داریم.
البته این نکته رو هم باید مد نظر داشت که به عنوان یه کدنویس، همواره باید سعی کنیم، تا اونجایی که میشه کدهامون رو ساده بنویسیم، به حدی که برای توضیحات بیشتر نیاز به کامنت نداشته باشیم.
مثلا توی انتخاب نامها، به جای اینکه نامهای بدی رو بنویسیم و برای توضیح بیشتر اون نامها از کامنتها استفاده کنیم، در عوض بیایم از همون اول یه نام قابل فهمی و صحیحی انتخاب کنیم که دیگه نیازی هم به کامنت نباشه.
ثبت افکار هنگام کدنویسی
یکی از کاربردهای کامنتنویسی، ثبت افکار هستش. مثلا در بخشهایی از برنامه، نیازه که یه سری نکات مهم، هشدارها و موارد خاصی ذکر بشن. چرا که دونستن چنین مواردی برای برنامهنویسان دیگه مهم هستش و ندونستن اونها ممکنه باعث به وجود آمدن مشکلاتی بشه.
کاربرد دیگر کامنت گذاری: TODO
یکی از انواع کامنتهای کاربردی، کامنتهای TODO هستند. این کامنتها معمولا در بخشهایی از کدها نوشته میشند که ما قراره بعدا به اونها رسیدگی کنیم. مثلا یه یه تابعی رو تعریف میکنیم اما در حال حاضر قصد نداریم بدنهی اونو تکمیل کنیم و در آینده این کار رو انجام میدیم. در این جور مواقع برای اینکه یادمون باشه که در آینده به این بخش از کدها مراجعه کنیم، از کامنتهای TODO استفاده میکنیم. کامنتهای TODO معمولا توسط IDE ها شناخته میشند و به ما کمک میکنند که در صورت نیاز، سریعتر به اون بخشها دسترسی داشته باشیم.
پس به طور کلی هر جا از کدهاتون که نیاز شد بعدا سراغشون برید رو میتونید از کامنتهای TODO استفاده کنید.
خود را در کفش خواننده قرار دهید
آیا ممکن است سوال بپرسد؟ در مرحله اول کدها رو ساده تر کنید اگه نشد کامنت بذارین، البته کامنتهای دقیق
پیش بینی سوالات احتمالی، پیش بنیین مشکلات احتمالی
به طور کلی اگه بخوایم یه توصیهی عمومی در کامنت نویسی داشته باشیم، میتونیم بگیم که:
همواره خودتون رو جای خوانندههای دیگه قرار بدین. در درجهی اول تلاش کنید تا کدها رو به گونهای بنویسید که برای توضیحات بیشتر نیازی به کامنت نداشته باشند و از خوندن مستقیم کدها بشه متوجه کدها شد. در مرحلهی بعد، اگه دیدین نیاز دارین تا برای یه سری بخشها کامنت بنویسید سعی کنید که به این موارد دقت داشته باشید.
در نظر داشتن سوالات احتمالی
همیشه در هنگام کدنویسی سعی کنید این سوالات رو از خودتون بپرسید:
آیا بعدا برای بقیه خوانندگان هنگام خوندن این بخش سوالی پیش نیمآید؟
آیا اینجا لازمه که اشاره کنم این بخش، یه بخش حیاتی و مهم هستش و مثلا برنامهنویس نباید اینجا رو تغییر بده؟
و به طور کلی هرگونه سوالی که ممکنه بعدا پیش بیاد و یا هرگونه توضیح اضافهتری که احساس میکنید باید قرار داده بشه رو توی کامنتها ذکر کنید.
تا حد ممکن کامنتهاتون رو خلاصه و دقیق بنویسید
همونطور که گفتیم، کامنتها هزینهبر هستند، هم هزینه برای نوشتن اونها، هم هزینه برای خوندن و متوجه شدن اونها. پس تا اونجایی که میتونید سعی کنید در عین خلاصه و کوتاه بودن کامنتها، اونها رو به صورت دقیق بنویسید تا باعث به وجود اومدن ابهام هم نشه.
آشنایی با مفاهیم کدنویسی تمیز + راهکارهای کاربردی برای نوشتن کدهای خوانا