ConstructiCat Logo
CodeBust.
Browse section ▾

إزالة المعامل (Remove Parameter).

Problem

لا يُسخدم المعامل داخل متن التابع.

Solution

أزل المعامل غير المستخدم.

##Example

قبل
Remove Parameter - Before
بعد
Remove Parameter - After

##Why Refactor

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

وفي كل الأحوال، تمثل المعاملات الإضافية كوداً إضافياً يجب تشغيله.

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

##Benefits

  • يحتوي التابع فقط على المعاملات التي يحتاجها حقاً.

##How to Refactor

  1. تحقق مما إذا كان التابع معرفاً في الفئة الفائقة (Superclass) أو الفئة الفرعية (Subclass). إذا كان الأمر كذلك، فهل يُستعمل المعامل هناك؟ إذا كان المعامل مستخدماً في أحد هذه التطبيقات، فتجنب استخدام تقنية إعادة الهيكلة هذه حالياً.

  2. الخطوة التالية مهمة للحفاظ على عمل البرنامج أثناء عملية إعادة الهيكلة. أنشئ تابعاً جديداً عن طريق نسخ التابع القديم واحذف المعامل ذي الصلة منه. واستبدل كود التابع القديم باستدعاء للتابع الجديد.

  3. ابحث عن جميع الإشارات إلى التابع القديم واستبدلها بإشارات إلى التابع الجديد.

  4. احذف التابع القديم. لا تقم بهذه الخطوة إذا كان التابع القديم جزءاً من واجهة عامة (Public interface). في هذه الحالة، ضع علامة "مهمل" (Deprecated) على التابع القديم.