ConstructiCat Logo
CodeBust.
Browse section ▾

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

Problem

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

Solution

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

##Example

Before
void renderBanner() {
  if ((platform.toUpperCase().indexOf("MAC") > -1) &&
       (browser.toUpperCase().indexOf("IE") > -1) &&
        wasInitialized() && resize > 0 )
  {
    // افعل شيئاً ما
  }
}
After
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) {
    // افعل شيئاً ما
  }
}

##Why Refactor

السبب الرئيسي لاستخراج المتغيرات هو جعل التعبير المعقد أكثر فهماً، عن طريق تقسيمه إلى أجزائه الوسيطة. يمكن أن تكون هذه:

  • شرط معامل if() أو جزء من معامل ?: في اللغات القائمة على C

  • تعبير حسابي طويل بدون نتائج وسيطة

  • سطور طويلة متعددة الأجزاء

قد يكون استخراج متغير خطوة أولى نحو تطبيق استخراج الدالة إذا رأيت أن التعبير المستخرج مستخدم في أماكن أخرى في الكود الخاص بك.

##Benefits

  • كود أكثر قابلية للقراءة! حاول إعطاء المتغيرات المستخرجة أسماء جيدة توضح الغرض من المتغير بصوت عالٍ وواضح. قراءة أفضل، وتعليقات مطولة أقل. اختر أسماء مثل customerTaxValue، و cityUnemploymentRate، و clientSalutationString، إلخ.

##How to Refactor

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

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

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