الفرق بين المراجعتين لصفحة: «Refactoring/pull up field»

من موسوعة حسوب
طلا ملخص تعديل
سطر 9: سطر 9:


==== قبل إعادة التصميم ====
==== قبل إعادة التصميم ====
[[ملف:Pull Up Field - Before.png|بديل=أُزيل الحقل health من الأصناف الفرعية ونُقل إلى الصنف الفائق.|بدون|تصغير|أُزيل الحقل health من الأصناف الفرعية ونُقل إلى الصنف الفائق.]]
[[ملف:Pull Up Field - Before.png|alt=يحتوي الصنفان Soldier و Tank على نفس الحقل health.|بدون|تصغير|يحتوي الصنفان Soldier و Tank على نفس الحقل health.]]


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

مراجعة 09:55، 17 فبراير 2019

المشكلة

يحتوي صنفان على نفس الحقل.

الحل

إزالة الحقل من الأصناف الفرعية ونقله إلى الصنف الفائق.

مثال

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

يحتوي الصنفان Soldier و Tank على نفس الحقل health.
يحتوي الصنفان Soldier و Tank على نفس الحقل health.

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

أُزيل الحقل health من الأصناف الفرعية ونُقل إلى الصنف الفائق.
أُزيل الحقل health من الأصناف الفرعية ونُقل إلى الصنف الفائق.

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

تنمو الأصناف الفرعية وتتطور بشكل منفصل، مما يتسبب في ظهور حقول وتوابع متطابقة (أو شبه متطابقة).

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

  • إزالة تكرار الحقول في الأصناف الفرعية.
  • تسهيل النقل المتتابع للتوابع المتكررة إذا كانت موجودة من الأصناف الفرعية إلى الصنف الفائق.

آلية الحل

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

انظر أيضًا

مصادر