شعار ConstructiCat
CodeBust.
تصفح القسم ▾

استخراج المتغير.

المشكلة

لديك تعبير برمجى يصعب فهمه.

الحل

ضع نتيجة التعبير أو أجزائه في متغيرات منفصلة توضح نفسها بنفسها.

##مثال

قبل
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، إلخ.

##كيفية إعادة الهيكلة

  1. أدخل سطراً جديداً قبل التعبير المعني وأعلن عن متغير جديد هناك. قم بتعيين جزء من التعبير المعقد لهذا المتغير.

  2. استبدل هذا الجزء من التعبير بالمتغير الجديد.

  3. كرر العملية لجميع الأجزاء المعقدة من التعبير.