استخراج المتغير.
المشكلة
لديك تعبير برمجى يصعب فهمه.
الحل
ضع نتيجة التعبير أو أجزائه في متغيرات منفصلة توضح نفسها بنفسها.
##مثال
قبل
void renderBanner() {
if ((platform.toUpperCase().indexOf("MAC") > -1) &&
(browser.toUpperCase().indexOf("IE") > -1) &&
wasInitialized() && resize > 0 )
{
// افعل شيئاً ما
}
}بعد
void renderBanner() {
final boolean isMacOs = platform.toUpperCase().indexOf("MAC") > -1;
final boolean isIE = browser.toUpperCase().indexOf("IE") > -1;
final boolean wasResized = resize > 0;
if (isMacOs && isIE && wasInitialized() && wasResized) {
// افعل شيئاً ما
}
}##لماذا نعيد الهيكلة
السبب الرئيسي لاستخراج المتغيرات هو جعل التعبير المعقد أكثر فهماً، عن طريق تقسيمه إلى أجزائه الوسيطة. يمكن أن تكون هذه:
-
شرط معامل
if()أو جزء من معامل?:في اللغات القائمة على C -
تعبير حسابي طويل بدون نتائج وسيطة
-
سطور طويلة متعددة الأجزاء
قد يكون استخراج متغير خطوة أولى نحو تطبيق استخراج الدالة إذا رأيت أن التعبير المستخرج مستخدم في أماكن أخرى في الكود الخاص بك.
##الفوائد
- كود أكثر قابلية للقراءة! حاول إعطاء المتغيرات المستخرجة أسماء جيدة توضح الغرض من المتغير بصوت عالٍ وواضح. قراءة أفضل، وتعليقات مطولة أقل. اختر أسماء مثل
customerTaxValue، وcityUnemploymentRate، وclientSalutationString، إلخ.
##كيفية إعادة الهيكلة
-
أدخل سطراً جديداً قبل التعبير المعني وأعلن عن متغير جديد هناك. قم بتعيين جزء من التعبير المعقد لهذا المتغير.
-
استبدل هذا الجزء من التعبير بالمتغير الجديد.
-
كرر العملية لجميع الأجزاء المعقدة من التعبير.