الفرق بين المراجعتين لصفحة: «Refactoring/incomplete library class»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:أصناف المكتبة غير الكافية (Incomplete Library Classes)}}</noinclude> == توصيف المشكلة == لا تلبِّي أ...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 22: | سطر 22: | ||
== مصادر == | == مصادر == | ||
* [https://refactoring.guru/smells/incomplete-library-class صفحة توثيق أصناف المكتبة غير الكافية في موقع refactoring.guru.] | * [https://refactoring.guru/smells/incomplete-library-class صفحة توثيق أصناف المكتبة غير الكافية في موقع refactoring.guru.] | ||
[[تصنيف:Refactoring]] | |||
[[تصنيف:Refactoring Smells]] | |||
[[تصنيف:Refactoring Couplers]] |
مراجعة 15:13، 27 فبراير 2019
توصيف المشكلة
لا تلبِّي أصناف المكتبة (library classes) كافّة احتياجات البرنامج مع استمرار تطوُّره، ولا يمكن تعديلها لأنّها مُخصَّصةٌ للقراءة فقط (read-only).
أسبابها
عدم تزويد مُطوِّر المكتبة كافَّةَ الميّزات (features) التي تحتاجها في البرنامج أو امتناعه عن تعريفَ استخدامها (implement).
وما الحل؟
- لتعريف بعض التوابع (methods) في المكتبة عليك بتعريف التوابع الدخيلة (introduce foreign methods).
- أمّا لإجراء تغييراتٍ واسعةٍ في صنف المكتبة فعليك بتعريف الإضافات المحليّة (introduce local extensions).
إليك المزيد
سيكون حلُّ المشكلة كفيلًا بالتقليل من تكرار الشيفرات (duplications)، فبإمكانك الاعتماد على المكتبة المتوفِّرة بدلًا من بناء مكتبتك الخاصّة من الصفر.
تجاهل المشكلة
من الممكن تجاهل المشكلة حينما تجلبُ الإضافات على المكتبة بعضًا من المتاعب بما يتعلَّق بإجراء التغييرات على الشيفرة بمجرد إحداث أيّ تعديلٍ في المكتبة.
انظر أيضًا
- تعريف التوابع الدخيلة (introduce foreign methods)
- تعريف الإضافات المحليّة (introduce local extensions)