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