قانون comment-content برای مرتبکردن کامنتها
خلاصهٔ کاملتر
این صفحه مستند قانون comment-content از افزونهی eslint-plugin-unicorn ـه. کار این قانون اینه که جایگزینهای انتخابشدهای رو توی کامنتهای کد اعمال کنه؛ مثلاً برای تصحیح حروف بزرگ و کوچک نامها، برندها و سرنامها مثل تبدیل nodejs به Node.js. مستندات تأکید میکنه که این یه غلطگیر املایی نیست و فقط الگوهای جایگزینی شناختهشده رو بررسی میکنه و هر بار هم فقط یه جایگزینی رو گزارش میده.
یه نکتهی مهم اینه که این قانون هوشمندانه فقط روی متنِ شبیه به نثر تمرکز میکنه و بخشهای واضحاً غیرمتنی مثل قطعهکدها، لینکها، مسیرها، دادهی ساختاریافته و نمونههای دستور رو نادیده میگیره. برای مثال کامنتی مثل «nodejs uses javascript» به «Node.js uses JavaScript» تصحیح میشه، یا «github issue» به «GitHub issue».
طبق مستندات این قانون در پیکربندیهای recommended و unopinionated بهصورت پیشفرض غیرفعاله، ولی با فلگ --fix خط فرمانِ ESLint بهصورت خودکار قابل رفعه. پس اگه بخوایش باید صریح فعالش کنی.
این قانون چند گزینهی تنظیم داره. گزینهی checkUniformCase که پیشفرض true ـه باعث میشه توکنها بدون توجه به حالت حروف تصحیح بشن، حتی وقتی همهشون کوچیک یا همهشون بزرگن. اگه اون رو false کنی، قانون فقط توکنهایی رو تصحیح میکنه که از قبل ترکیبی از حروف بزرگ و کوچیک دارن، مثل تبدیل Github به GitHub؛ چون حالت یکدست معمولاً عمدیه. البته جایگزینیهایی که خودِ حروف رو عوض میکنن، مثل application به app، همچنان اعمال میشن.
دو گزینهی دیگه هم برای شخصیسازی هست. با replacements میتونی جایگزینهای دلخواه خودت رو اضافه کنی؛ کلید بهعنوان یه regex در نظر گرفته میشه و بهطور پیشفرض حساس به حروف بزرگ و کوچیکه، ولی میتونی برای هر مورد caseSensitive: false بذاری یا حتی یه جایگزین پیشفرض رو با مقدار false خاموش کنی. با extendDefaultReplacements: false هم میتونی جایگزینهای پیشفرض رو کامل کنار بذاری و فقط قوانین خودت رو بذاری. در کل این قانون برای یکدستکردن نثرِ کامنتها و درستنوشتن نام برندها توی یه پروژه به کار میاد.
نکات کلیدی:
- comment-content جایگزینهای مشخصی رو توی کامنتها اعمال میکنه، مثل nodejs به Node.js.
- این یه غلطگیر املایی نیست و فقط الگوهای جایگزینی شناختهشده رو چک میکنه.
- بخشهای غیرمتنی مثل کد، لینک، مسیر و دستور رو نادیده میگیره.
- در پیکربندیهای پیشفرض غیرفعاله ولی با --fix خودکار رفع میشه.
- با گزینههای checkUniformCase، replacements و extendDefaultReplacements قابل شخصیسازیه.




