حذف المعاملات (Remove Parameter)

من موسوعة حسوب
< Refactoring
مراجعة 21:47، 29 يناير 2019 بواسطة Khaled-yassin (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: حذف المعاملات (Remove Parameter)}}</noinclude> == المشكلة == لا يُستخدم معاملٌ ما في متن التابع...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

المشكلة

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

الحل

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

مثال

قبل إعادة التصميم

بعد إعادة التصميم

لم إعادة التصميم؟

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

وعلى أية حال، تُشكل المعاملات الإضافية شيفرات إضافية يجب تشغيلها.

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

فوائد تطبيق الحل

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

متى يُترك هذا الحل؟

  • يُترك المعامل كما هو، إذا اُستخدِم التابع بطرق مختلفة في الأصناف الفرعية أو في الأصناف الفائقة، واُستخدِم المُعامل في تلك الطرق المُختلفة.

آلية الحل

  1. تحقق من إذا كان التابع مُعرَّف في صنفٍ فائق أو صنفٍ فرعي. إذا كان الأمر كذلك، هل أُستُخدِم المعامل فيه؟ إذا كان المعامل يستخدم في واحدة من هذه التطبيقات، لا تستخدم هذه التقنية لإعادة التصميم.
  2. الخطوة التالية هامة للحفاظ على عمل برنامجك أثناء عملية إعادة التصميم. أنشئ تابع جديد عن طريق نسخ التابع القديم واحذف المعامل المُراد منه. ثم استبدل الشيفرة البرمجية للتابع القديم باستدعاءٍ للتابع الجديد.
  3. ابحث عن كافة المراجع إلى التابع القديم واستبدالها بمراجع إلى التابع الجديد.
  4. احذف التابع القديم. لكن لا تقم بتنفيذ هذه الخطوة إذا كان التابع القديم جزء من واجهة عامة. في هذه الحالة، ضع علامة "مُهمَل" على التابع القديم.

انظر أيضًا

مصادر