php Code Refactoring Series – part3

سری پست های اصلاح کد ها در پی اچ پی
سری پست های اصلاح کد ها در پی اچ پی

اگر با سری پست های اصلاح کد های پی اچ پی آشنایی ندارید و یا سایر قسمت ها را نخوانده اید از اینجا شروع کنید:

https://virgool.io/@vahiiiid/php-code-refactoirng-series-introduction-pckzxvccjw6f

php Code Refactoirng Series - introduction
php Code Refactoirng Series – introduction
سری پست های اصلاح ساختار کد های پی اچ پی معرفی و لیست مطالب

لطفا از else استفاده نکنید!! در اکثر مواردی که ما در کدهامون از else استفاده می کنیم می تونیم آنها رو حذف کنیم برای مثال به تکه کد زیر نگاه کنید:

123456789$result = //یک عملیاتی اینجا مثل کوئری زدن انجام دایم
if ($result) {
    return response()->json([
        'status'    => true,
        'message'      => 'عملیات با موفقیت انجام شد'
    ]);
} else {
    return false;
}

پس اول بیایید این else رو حذف کنیم تا در ادامه کد رو باز هم تمیز تر کنیم:

12345678$result = //یک عملیاتی اینجا مثل کوئری زدن انجام دایم
if ($result) {
    return response()->json([
        'status' => true,
        'message' => 'عملیات با موفقیت انجام شد'
    ]);
}
return false;

اما اگر با مبحث برنامه نویسی defensive آشنا باشید یکی از ساده ترین کارها این هست که ابتدا از وضعیت ورودی خود اطمینان حاصل کنیم یعنی کدمون رو به این صورت بنویسیم:

123456789$result = //یک عملیاتی اینجا مثل کوئری زدن انجام دایم
if (!$result) {
    return false;
}

return response()->json([
    'status' => true,
    'message' => 'عملیات با موفقیت انجام شد'
]); 

حالا کدی که ما داریم خیلی خوانا تر هست چون تعداد خط هایی که indentation یا فرورفتگی دارند کم تر شدند.

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

پس در این مثال چون return false تنها یک خط هست بهتر هست داخل شرط بیاید ولی در حالت دیگه برگشت response که شامل ۴ خط هست بدون indentation می باشد که خوانایی کد را تمیز تر می کند.

برای شما

این رو به یاد داشته باشید که همیشه indentation های زیاد و چند سطحی به ما می گویند که احتمالا نیاز به refactoring داریم!

حالا بیایید شرایطی رو در نظر بگیریم که ما تابع void داریم که هیچ چیزی بر نمی گرداند، یعنی شرایطی که یک تابعی داریم که در صورت صحیح بودن یک شرط یک عملیاتی را انجام می دهیم در غیر این صورت کاری را انجام نمی دهد:

12345678910public function test($input)
{
    if ($input) {
        $data = // عملیاتی برای ساختن داده ها با استفاده از ورودی;
        return response()->json([
            'data' => $data,
            'status' => true,
            'message' => 'عملیات با موفقیت انجام شد'
        ]);
    }
1}

در این جور مواقع باز هم می تونیم تعداد خطوطی که indentation خوردند رو کم کنیم کافی هست کد رو به صورت زیر بنویسیم:

12345678910111213public function test($input)
{
    if (!$input) {
        return null;
    }

    $data = // عملیاتی برای ساختن داده ها با استفاده از ورودی
    return response()->json([
        'data' => $data,
        'status' => true,
        'message' => 'عملیات با موفقیت انجام شد'
    ]);
}    

لطفا نظرتون رو توی کامنت ها بنویسید تا این سری پست های اصلاح کد های پی اچ پی رو با هم دیگه کامل تر کنیم.

معرفی و مشاهده سایر پست های اصلاح کد های پی اچ پی

راستی لایک هم لطفااااااا یادتون نره 🙂

نویسنده مطلب: vahiiiid

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.