تقسيم المتغير المؤقت.
لديك متغير محلي يُسخدم لتخزين قيم وسيطة مختلفة داخل دالة (باستثناء متغيرات حلقات التكرار).
استخدم متغيرات مختلفة للقيم المختلفة. يجب أن يكون كل متغير مسؤولاً عن شيء معين واحد فقط.
##Example
double temp = 2 * (height + width);
System.out.println(temp);
temp = height * width;
System.out.println(temp);final double perimeter = 2 * (height + width);
System.out.println(perimeter);
final double area = height * width;
System.out.println(area);##Why Refactor
إذا كنت تقتصد في عدد المتغيرات داخل دالة ما وتعيد استخدامها لأغراض مختلفة غير مترابطة، فمن المؤكد أنك ستواجه مشاكل بمجرد أن تحتاج إلى إجراء تغييرات على الكود الذي يحتوي على هذه المتغيرات. سيتعين عليك إعادة التحقق من كل حالة استخدام للمتغير للتأكد من استخدام القيم الصحيحة.
##Benefits
-
يجب أن يكون كل مكون من مكونات كود البرنامج مسؤولاً عن شيء واحد وواحد فقط. هذا يسهل صيانة الكود بشكل كبير، حيث يمكنك بسهولة استبدال أي شيء معين دون خوف من حدوث آثار غير مقصودة.
-
يصبح الكود أكثر مقروئية. إذا تم إنشاء متغير منذ فترة طويلة على عجل، فمن المحتمل أن يكون له اسم لا يوضح أي شيء: مثل
kأوa2أوvalueوما إلى ذلك. ولكن يمكنك إصلاح هذا الوضع عن طريق تسمية المتغيرات الجديدة بطريقة مفهومة وواضحة بذاتها. قد تشبه هذه الأسماءcustomerTaxValueوcityUnemploymentRateوclientSalutationStringوما شابه ذلك. -
تقنية إعادة الهيكلة هذه مفيدة إذا كنت تتوقع استخدام تقنية استخلاص الدالة (Extract Method) لاحقًا.
##How to Refactor
-
ابحث عن أول مكان في الكود يتم فيه إعطاء قيمة للمتغير. هنا يجب عليك إعادة تسمية المتغير باسم يتوافق مع القيمة التي يتم تعيينها له.
-
استخدم الاسم الجديد بدلاً من الاسم القديم في الأماكن التي تُستخدم فيها هذه القيمة للمتغير.
-
كرر ذلك حسب الحاجة للأماكن التي يتم فيها تعيين قيمة مختلفة للمتغير.