دمج الأجزاء الشرطية المكررة.
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
-
إذا كان الكود المكرر في بداية الفروع الشرطية، فانقل الكود إلى مكان قبل الشرط.
-
إذا كان الكود يُنفذ في نهاية الفروع، فضعه بعد الشرط.
-
إذا كان الكود المكرر يقع بشكل عشوائي داخل الفروع، فحاول أولاً نقل الكود إلى بداية أو نهاية الفرع، اعتماداً على ما إذا كان ذلك يغير نتيجة الكود اللاحق.
-
إذا كان ذلك مناسباً وكان الكود المكرر أطول من سطر واحد، فحاول استخدام طريقة استخراج الدالة.