چطور ریفکتور کنیم؟


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

چک لیست ریفکتورینگ صحیح

کد باید تمیز تر شود

اگر بعد از ریفکتور باز هم کد کثیف دارید فقط وقتتان را هدر داده اید. باید سعی کنید که بفهمید چرا این اتفاق افتاده است

البته ممکن است این اتفاق در کدهای خیلی کثیف اتفاق بیفتد و می شود در چند  مرحله کم کم بهبود را ایجاد کرد

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

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

هیچوقت ریفکتورینگ را با تولید قابلیت جدید قاطی نکنید. سعی کنید این موارد را حداقل در commit های جداگانه انجام شود

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

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

در خلال ریفکتور(بازسازی) کد ها خطا ایجاد کرده باشید» مهم نیست می توانید به پیش بروید و اشکالات را رفع کنید

تستها خیلی سطح پایین باشند» به عنوان مثال شما متدهای کلاسهای private را تست کرده اید

در این حالت خود تستها اشکال دارند. می توانید خود تستها را ریفکتور کنید یا تستهای در سطح بالاتر بنویسید. بهترین راه برای جلوگیری از این مشکل نوشتن تستها به سبک BDD است.

منبع