چرا کامنت نوشتن تو کد هنوز مهمه؟
خلاصهٔ کاملتر
نویسنده که مهندس نرمافزار تیم Helsing هست، از سالها پیش کامنتهای کدش رو نارنجی پررنگ کرده تا هر کامنت الکی و بیفایده فورا تو چشمش بزنه. به گفتهٔ اون، کامنتهایی که فقط همون چیزی رو میگن که از خود کد معلومه، یا با تغییر کد قدیمی شدن، فقط حواس خواننده رو پرت میکنن و باعث سردرگمی میشن.
اما این به این معنی نیست که کامنت اضافیه. نویسنده میگه تکنیکهایی مثل اسمگذاری بهتر و شکستن توابع، «چطور»یِ کد رو روشنتر میکنن ولی جای «چرا» رو نمیگیرن؛ اطلاعاتی که هیچجا نوشته نشده رو با خوندن دقیقتر کد هم نمیشه پیدا کرد.
تو مقاله چند دسته کامنت مفید معرفی میشه: TODOهایی که برای دیگران قابل فهم باشن، لینک به منبع اصلی کد یا الگوریتم، استدلال درستیِ یه راهحل پیچیده، درسهای سختآموختهای که پیدا کردنشون وقت زیادی برده، دلیل انتخاب یه عدد یا ثابت خاص، و اشاره به وابستگیهای پنهون تو کد که تغییرشون میتونه چیزی رو بشکنه. برای مستندسازی تصمیمهای معماری هم نویسنده از قالب کوتاهی به اسم Y-Statement استفاده میکنه و ابزاری به اسم yadr رو برای پیدا کردن و بررسی این کامنتها متنباز کرده.
نویسنده معتقده با گسترش کدنویسی با ایجنتهای هوش مصنوعی، اهمیت کامنتها بیشتر هم شده، نه کمتر. یه ایجنت درست مثل یه عضو تازهوارد تیمه که هیچایدهای از بحثهای قبلی و دلیل تصمیمها نداره، و کامنتها مستقیم تو context اون تزریق میشن؛ برخلاف یه ADR جدا یا تیکت جیرا که ایجنت شاید اصلاً سراغش نره. به گفتهٔ نویسنده، مدلهای زبانی خودشون هم تو نوشتن همینجور کامنتها خوب عمل میکنن، به شرطی که صریحاً ازشون خواسته بشه دلیل «چرا»یِ تصمیمها رو از دل گفتوگوی جاری استخراج کنن.
در پایان نویسنده هشدار میده که نباید کامنتنویسی رو به یه کار مکانیکی و اجباری تبدیل کرد؛ گاهی بهتره کد با کامنتهای نهچندان کامل مرج بشه و بهبود کامنتها به یه کار جدا موکول بشه. به گفتهٔ اون هیچ نسبت «درستی» بین حجم کامنت و کد وجود نداره و کامنتگذاری خوب به قضاوت و همدلی با خوانندهٔ آینده نیاز داره.




