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