تضمين المتغير المؤقت (Inline Temp).
Problem
لديك متغير مؤقت يتم تعيين نتيجة تعبير بسيط له فقط ولا شيء غير ذلك.
Solution
استبدل الإشارات إلى المتغير بالتعبير نفسه.
##Example
Before
boolean hasDiscount(Order order) {
double basePrice = order.basePrice();
return basePrice > 1000;
}After
boolean hasDiscount(Order order) {
return order.basePrice() > 1000;
}##Why Refactor
يتم استخدام تضمين المتغيرات المحلية دائماً تقريباً كجزء من عملية استبدال المتغير المؤقت باستعلام (Replace Temp with Query) أو للتمهيد لعملية استخراج التابع (Extract Method).
##Benefits
- لا تقدم تقنية إعادة الهيكلة هذه أي فائدة تقريباً في حد ذاتها. ومع ذلك، إذا تم تعيين نتيجة تابع للمتغير، فيمكنك تحسين مقروئية البرنامج بشكل طفيف عن طريق التخلص من المتغير غير الضروري.
##How to Refactor
-
ابحث عن جميع الأماكن التي تستخدم هذا المتغير. واستخدم التعبير الذي تم تعيينه له بدلاً من المتغير.
-
احذف تصريح المتغير وسطر التعيين الخاص به.