قواعد نام گذاری توابع و متغیر‌ها

قواعد نام گذاری توابع و متغیر‌ها

در این نوشته به بررسی مباحث مربوط به قواعد نام گذاری توابع و متغیر‌ها می پردازیم.

در این نوشته یک ریپوزیتوری از گیت هاب را ترجمه و بازنویسی کرده ام.

آدرس ریپوزیتوری اصلی:

https://github.com/kettanaito/naming-cheatsheet

آدرس این ترجمه روی گیت هاب:

https://github.com/amirshnll/naming-cheatsheet

 

قواعد نام گذاری توابع و متغیر‌ها

انتخاب نام کار پیچیده ای است و این راهنما قرار است کار را ساده تر کند.

دقت کنید ممکن است در زبان های مختلف این موضوع متفاوت باشد اما در این صفحه مثال ها با جاوااسکریپت نمایش داده شده است.

 

از زبان انگلیسی استفاده کنید

از زبان انگلیسی برای نام گذاری متغیرها و تابع ها استفاده کنید.

چه بخواهیم و چه نخواهیم ، انگلیسی زبان غالب در برنامه نویسی است: نحو تمام زبان های برنامه نویسی به انگلیسی ، و همچنین مستندات و مطالب آموزشی بی شماری با این زبان نوشته شده است. با نوشتن کد خود به انگلیسی ، انسجام آن را به طرز چشمگیری افزایش می دهید.

 

قاعده نام گذاری مشخص داشته باشید

یگی از قواعد نام گذاری را برای خود انتخاب کنید و طبق آن پیش بروید. از بین قواعدی مثل camelCase, PascalCase, snake_case و … یکی را انتخاب کنید.

 

از قانون S-I-D پیروی کنید

یک نام باید کوتاه، بصری و توصیفی باشد:

  • کوتاه یا Short. نام باید کوتاه باشد تا در طولانی مدت به خاطر بماند.
  • بصری یا Intuitive. یک نام باید به صورت طبیعی قابل خواندن باشد و این موضوع باید برای همه این طور باشد.
  • توصیفی یا Descriptive. یک نام باید به کارآمد ترین روش با کاری که انجام می دهد مشخص شده باشد.

 

خلاصه نکنید

از خلاصه کردن پرهیز کنید دلیل این موضوع هم این است که خلاصه کردن باعث کاهش خوانایی متن خواهد شد پس حتما در ارتباط با این موضوع پرهیز کنید.

 

از تکرار دوری کنید

از تکرار جلوگیری کنید. مثلا مثل مثال زیر نام کلاس را در نام اعضا آن کلاس نبرید و استفاده نکنید.

 

از طریق نام نتیجه را معلوم کنید

یک نام باید نتیجه ای که بر می گرداند را دقیقا مشخص کند

 

نام گذاری توابع

الگوی A / HC / LC

یک الگوی مفید برای نام گذاری تابع ها وجود دارد:

نحوه ی استفاده ی این الگو در جدول زیر آمده است.

الگوی A / HC / LC
الگوی A / HC / LC
یادداشت:

ترتیب انجام کارها بسیار مهم است مثلا shouldUpdateComponent در جایی استفاده می شود که به صورت دائمی آپدیت می شود ولی shouldComponentUpdate در جایی استفاده می شود که باید آپدیت کنید و این آپدیت توسط شما باید انجام شود. همیشه High context بر معنی نام یک متغیر تاثیر می گذارد.

 

در نام از فعل استفاده کنید

مهم ترین بخشی را که تابع انجام می دهد را به عنوان فعل به کار ببرید و نام آن را نام تابع استفاده کنید.

get

داده هایی که در همان لحظه خروجی خواهید گرفت.

 

set

برای اعلان یک متغیر استفاده می شود

 

reset

یک متغیر را به مقدار یا حالت اولیه خود بر می گرداند.

 

fetch

درخواست برای برخی از داده هایی، که یک مدتی طول می کشد تا پاسخ داده شود (به عنوان مثال درخواست همگام سازی یا sync کردن).

 

remove

چیزی را از جایی حذف می کند.

به عنوان مثال ، اگر مجموعه ای از فیلترهای انتخاب شده در صفحه جستجو داشته باشید ، حذف یکی از این مجموعه ها با “removeFilter” است و “deleteFilter” اتفاق نمی افتد

 

delete

چیزی که می خواهید کاملا پاک کنید.

فکر کنید یک سیستم مدیریت محتوا دارید وقتی روی کلید حذف پست می زنید عملیات deletePost انجام می شود و از removePost استفاده نمی شود.

 

compose

داده های جدیدی را از داده های موجود ایجاد می کند. بیشتر در رشته ها، شی ها یا تابع ها کاربرد دارد.

 

handle

Handles برای عمل ها به کار می رود. اغلب هنگام نام گذاری برای یک روش پاسخ گویی قابل استفاده است.

 

نام باید عملکرد را مشخص کند

نام یک تابع باید کار آن تابع را مشخص کند یا حداقل کاری را که قرار است انجام دهد را مشخص کند.

برخی از موارد در زبان های مختلف متفاوت است مثلا در جاوااسکریپت اپراتور filter روی آرایه ها عمل می کنند و نیازی به اضافه کردن fitlterArray ندارید.

 

پیشوندها

پیشوندها به نام متغیرها معنای بهتری می دهند و معمولا در نام توابع استفاده نخواهند شد

is

مشخصه یا حالتی از زمینه فعلی را توصیف می کند (معمولاً به صورت بولین).

 

has

توصیف می کند که آیا این مقدار فعلی مقدار یا حالت خاصی می باشد یا نه (معمولاً به صورت بولین).

 

should

یک جمله شرطی مثبت را همراه با یک عمل خاص منعکس می کند (معمولاً به صورت بولین).

 

min/max

مقدار حداقل و حداکثر را مشخص کند هنگام توصیفات محدوده حتما محدودیت ها را مشخص کنید.

 

prev/next

این بخش حالت بعدی یا قبلی متغیر را نشان می دهد از آن در زمان انتقال حالت ها استفاده کنید.

 

از کلمات مفرد و جمع در نام استفاده کنید

مانند پیشوندها نام متغیرها بسته به اینکه یک متغیر باشند و یک داده را بگیرند یا آرایه باشند و چندین داده را بگیرند باید جمع یا مفرد استفاده شود

 

پیشنهاد نویسنده : در ارتباط با مفهوم کد تمیز در جاوااسکریپت بخوانید.

 

منبع:

https://github.com/kettanaito/naming-cheatsheet

اگر نظری در ارتباط با این نوشته دارید در بخش نظرات همین نوشته برای من بنویسید.

3 Comments

Add Yours →

دیدگاهتان را بنویسید