قوانین نامگذاری توابع در php

تاریخ: 17 فروردین 1400

قوانین نامگذاری توابع در php تقریبا شبیه متغیرها می باشد، ولی تفاوت های اندکی نیز وجود دارد. توابع در php دارای نام می باشند و این نام باید دارای یکسری قوانین مشخص باشد تا توسط موتور php خطا ایجاد نشود.

نام تابع باید غیرتکراری باشد

نامی که برای تابع خود تعریف می کنید باید غیر تکراری باشد. در غیر اینصورت تابع به شما خطا می دهد و می گوید که نام تابعی که قرار دادید، از قبل انتخاب شده و این تابع در اسکریپت تعریف شده است.

php به صورت پیشفرض دارای توابع بسیاری می باشد. (built-in functions and language constructs)

طبعا نام این توابع رزرو شده است (reserved words) و امکان استفاده از آنها وجود ندارد.

 

نامگذاری دوبخشی توابع

اگر نامی که قصد دارید برای تابع خود انتخاب کنید، شامل بیش از یک کلمه باشد، دو روش برای ترکیب آنها وجود دارد.

روش جداسازی کلمه ها با undrescore:

در این روش، بین کلمه ها یک undrescore قرار می دهیم تا هر کلمه به سادگی قابل خواندن باشد:


function get_user() {}
function save_post() {}

روش جداسازی کلمه ها با سینتکس camelCase:

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

در این روش حرف اول کلمه ی بعدی، uppercase نوشته می شود:


function getUser() {}
function savePost() {}

camelCase اشاره به کوهان شتر دارد. ترجمه آن به فارسی، نگارش شتری می شود :))

قوانین نامگذاری توابع در php

 

نام توابع به حروف کوچک و بزرگ حساس نمی باشد

برخلاف متغیرها، نام توابع در php به حروف کوچک و بزرگ حساس نمی باشد و نام توابع اصطلاحا case-insensitive است.

می توانیم بدون اینکه توجه کنیم تابع دارای حرف بزرگ است یا خیر، از آن استفاده کنیم.


function savePost() {}
savePost(); //true
savepost(); //true

بهتر اینست که نام تابع را به همان صورتی که هست استفاده کنیم.

 

کاراکتر های مجاز در نام تابع

در نامگذاری توابع نمی توانیم از هر کاراکتری که نیاز داریم استفاده کنیم. موارد زیر، قوانین استفاده از کاراکترهای مجاز برای نامگذاری توابع می باشند.

  1. نام تابع باید با حرف یا undrescore شروع شود.
  2. استفاده از کاراکترهای ویژه در ابتدا و ادامه ی نام تابع مجاز نمی باشد.
  3. استفاده از space در میان نام تابع مجاز نمی باشد.
  4. بهتر است حرف اول نام تابع کوچک باشد.

 


function save_post() {} //true
function _save_post() {} //true
function $save_post() {} //false
function save$post() {} //false
function 1save_post() {} //false
function save post() {} //false
function save1post() {}; //true

 

نام تابع باید با هدف تابع همخوانی داشته باشد

نام تابع در نگاه اول باید مشخص کند که این تابع قرار است چه کاری انجام دهد.

مثلا اگر قرار است تابع ما، یک پست را ذخیره کند، نمی توانیم از هر چیزی که دوست داریم برای نام آن استفاده کنیم.

بلکه نام هایی مثل save_post یا create_post مناسب می باشد.

مشاهده می کنید که در یک نگاه می فهمیم که این تابع، یک پست را ذخیره می کند.

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

همچنین برنامه نویس دیگری که کد شما را می خواند خیلی اذیت خواهد شد.

 

نتیجه گیری

انتخاب نام صحیح برای توابع، یک حق اخلاقی و حرفه ای بر عهده برنامه نویس است و عدم رعایت آن موجب بدهی فنی (technical debt) خواهد شد. سعی کنید یک نام صحیح بر مبنای قواعدی که در این مطلب گفته شد انتخاب کنید تا هیچ وقت نیاز به ویرایش و ری فکتور نام توابع وجود نداشته باشد.

اگر در مورد این مطلب نظری دارید خوشحال می شویم از قسمت نظرات برای ما ارسال نمایید …

 

 

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

  • شادی گفت:

    اینا یه بخش قضیه بود. استداندارد نام گذاری php یه بخش دیگه ست.
    https://raw.githubusercontent.com/php/php-src/master/CODING_STANDARDS.md