الفرق بين المراجعتين لصفحة: «Refactoring/parallel inheritance hierarchies»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الهيكلية التفرعية للوراثة (Parallel Inheritance Hierarchies)}}</noinclude> == توصيف المشكلة == يتطلَّ...'
 
ط مراجعة وتدقيق.
 
سطر 27: سطر 27:
[[تصنيف:Refactoring]]
[[تصنيف:Refactoring]]
[[تصنيف:Refactoring Smells]]
[[تصنيف:Refactoring Smells]]
[[تصنيف:Refactoring Inheritance]]
[[تصنيف:Refactoring Change Preventers]]

المراجعة الحالية بتاريخ 14:05، 26 فبراير 2019

توصيف المشكلة

يتطلَّب إنشاءُ صنفٍ فرعيٍّ (subclass) لأحد الأصناف إنشاءَ صنفٍ فرعيٍّ ثانٍ لصنفٍ آخر غيره.

أسبابها

لا تبدو المشكلة واضحةً في الهيكليّات (hierarchies) الصغيرة، ولكنها تبدأ بالظهور مع إضافة أصناف (classes) جديدةٍ ممّا يجعل إجراء التعديلات أمرًا صعبًا.

وما الحل؟

التخلُّص من التكرار التفرعيّ بين الهيكليّتين (hierarchies)، ويتمّ بخطوتين:

  1. إنشاء مرجعيّة (reference) من إحدى الهيكليّتين التفرعيّتين إلى الهيكليّة الثانية.
  2. إزالة الهيكليّة في الصنف المُشار إليه (referred class)، وذلك بنقل التوابع (move methods) ونقل الحقول (move fields).

إليك المزيد

ستحصل بعلاجك المشكلة على:

  • تنظيمٍ أفضل للشيفرة.
  • تقليل الشيفرات المُتكرِّرة (duplications).

تجاهل المشكلة

يمكن تجاهل المشكلة عندما يكون وجودُها بديلًا عن مشكلة أعظم ببنية (architecture) البرنامج! فإن نتجت شيفرةٌ أسوء عن تطبيق الحلِّ السابق فالأحرى بك التراجعُ عنه وتجاهل المشكلة والتأقلم معها.

انظر أيضًا

مصادر