الفرق بين المراجعتين لصفحة: «Refactoring/incomplete library class»
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 17: | سطر 17: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* [[Refactoring/introduce foreign method|تعريف التوابع الدخيلة | * [[Refactoring/introduce foreign method|تعريف التوابع الدخيلة]] | ||
* [[Refactoring/introduce local extension|تعريف الإضافات المحليّة | * [[Refactoring/introduce local extension|تعريف الإضافات المحليّة]] | ||
== مصادر == | == مصادر == | ||
سطر 24: | سطر 24: | ||
[[تصنيف:Refactoring]] | [[تصنيف:Refactoring]] | ||
[[تصنيف:Refactoring Smells]] | [[تصنيف:Refactoring Smells]] | ||
المراجعة الحالية بتاريخ 15:27، 27 فبراير 2019
توصيف المشكلة
لا تلبِّي أصناف المكتبة (library classes) كافّة احتياجات البرنامج مع استمرار تطوُّره، ولا يمكن تعديلها لأنّها مُخصَّصةٌ للقراءة فقط (read-only).
أسبابها
عدم تزويد مُطوِّر المكتبة كافَّةَ الميّزات (features) التي تحتاجها في البرنامج أو امتناعه عن تعريفَ استخدامها (implement).
وما الحل؟
- لتعريف بعض التوابع (methods) في المكتبة عليك بتعريف التوابع الدخيلة (introduce foreign methods).
- أمّا لإجراء تغييراتٍ واسعةٍ في صنف المكتبة فعليك بتعريف الإضافات المحليّة (introduce local extensions).
إليك المزيد
سيكون حلُّ المشكلة كفيلًا بالتقليل من تكرار الشيفرات (duplications)، فبإمكانك الاعتماد على المكتبة المتوفِّرة بدلًا من بناء مكتبتك الخاصّة من الصفر.
تجاهل المشكلة
من الممكن تجاهل المشكلة حينما تجلبُ الإضافات على المكتبة بعضًا من المتاعب بما يتعلَّق بإجراء التغييرات على الشيفرة بمجرد إحداث أيّ تعديلٍ في المكتبة.