ConstructiCat Logo
CodeBust.
Browse section ▾

دمج الأجزاء الشرطية المكررة.

Problem

يمكن العثور على كود متطابق في جميع فروع الشرط.

Solution

انقل الكود خارج الشرط.

##Example

Before
if (isSpecialDeal()) {
  total = price * 0.95;
  send();
}
else {
  total = price * 0.98;
  send();
}
After
if (isSpecialDeal()) {
  total = price * 0.95;
}
else {
  total = price * 0.98;
}
send();

##Why Refactor

يوجد كود مكرر داخل جميع فروع الشرط، غالباً نتيجة لتطور الكود داخل هذه الفروع. ويمكن أن يكون تطوير الفريق عاملاً مساهماً في ذلك.

##Benefits

  • إلغاء تكرار الكود.

##How to Refactor

  1. إذا كان الكود المكرر في بداية الفروع الشرطية، فانقل الكود إلى مكان قبل الشرط.

  2. إذا كان الكود يُنفذ في نهاية الفروع، فضعه بعد الشرط.

  3. إذا كان الكود المكرر يقع بشكل عشوائي داخل الفروع، فحاول أولاً نقل الكود إلى بداية أو نهاية الفرع، اعتماداً على ما إذا كان ذلك يغير نتيجة الكود اللاحق.

  4. إذا كان ذلك مناسباً وكان الكود المكرر أطول من سطر واحد، فحاول استخدام طريقة استخراج الدالة.