یکی از سادهترین ولی حیاتیترین مهارتهایی که یک برنامهنویس باید یاد بگیرد، نامگذاری درست فایلها و متغیرهاست.
نهتنها باعث خواناتر شدن کد میشود، بلکه کمک میکند راحتتر فکر کنیم، راحتتر تغییر دهیم و حتی راحتتر تیمی کار کنیم.
ولی سؤال اصلی این است:
چه نامی باید انتخاب کرد؟
🧠 اصل اول: از کل به جزء حرکت کن
در زبان انگلیسی معمولاً ترکیبها از جزء به کل هستند:
UserDeleteModal ← یعنی Modal حذف کاربر
اما در برنامهنویسی بهتر است برعکس عمل کنیم:
ModalUserDelete ← یعنی ابتدا میگوییم “Modal” بعد “برای کاربر” و بعد “حذف”
چرا؟ چون وقتی لیست فایلها یا متغیرها را نگاه میکنی، همهی Modalها کنار هم قرار میگیرند. همهی Configها هم همینطور. این دستهبندی خودکار است و ذهن تو را درگیر جستوجو نمیکند.
مثال واقعی:
| نیاز | نام انگلیسی | نام پیشنهادی در برنامهنویسی |
|---|---|---|
| مودال حذف کاربر | UserDeleteModal | ModalUserDelete |
| کانفیگ زبانها | LangsConfig | ConfigLang |
| دکمه تایید سفارش | OrderConfirmButton | ButtonOrderConfirm |
قاعده:
[نوع کلی] + [موضوع] + [عمل] ← ساختاری از کل به جزء
✂️ اصل دوم: خلاصهسازی خوب است؛ حذف نه!
کوتاه کردن نامها مشکلی ندارد، ولی حذف مفاهیم کلیدی فاجعه است.
✅ مثلا:
auto rv = getReturnValue();
auto cp = renderComponent();C++اینها کوتاهسازیهای واضحی هستند و در همان محدوده قابل فهماند.
❌ اما:
اگر یک فایل بسازی به نام Form، در حالی که در واقع Component است، یک هفته بعد یادت نمیآید این فایل چی بود.
بنابراین اگر داری یک فایل کامپوننت برای فرم میسازی، بنویس:
CpForm یا ComponentForm
حذف نکردن نوع، به خصوص در ساختارهای بزرگ و پروژههای تیمی، جلوی سردرگمی آینده را میگیرد.
📚 چند قانون طلایی دیگر
- ثبات مهمتر از سبک است: اگر در پروژهای از
ConfigLangاستفاده کردی، در جای دیگر هم از همین ساختار استفاده کن، نهLangConfigیاLanguageConfiguration. - نامگذاری تودرتو برای پوشهها بهتر از نامهای طولانی است:
بهجایComponentFormLoginRegister, پوشه بساز:component/form/login_register - به اختصارها احترام بگذار ولی سوء استفاده نکن:
cfg,btn,usrقابل قبولاند. ولیdltUsrبهجایDeleteUserباعث سردرگمی میشود. - هرگز فقط با نگاه به نام نباید بپرسیم: “این چی بود؟”
💡 جمعبندی
برنامهنویسی فقط نوشتن کد نیست؛ ساختن زبان برای بیان دقیق و سریعِ منطق ذهنی ماست.
نامگذاری بخشی از این زبانسازیست.
با رعایت همین چند اصل ساده:
- حرکت از کل به جزء
- عدم حذف نوع
- ثبات در ساختار
نهتنها کد خواناتر و مرتبتر میشود، بلکه ذهن خودت هم درگیر جزئیات اضافی نمیماند و تمرکزت روی منطق برنامه میماند.



