الفرق بين المراجعتين ل"Refactoring/speculative generality"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التخطيط الشمولي المفرط (Speculative Generality)}}</noinclude> == توصيف المشكلة == وجود أصنافٍ (classe...')
 
ط (إنشاء الصفحة.)
 
سطر 29: سطر 29:
 
== مصادر ==
 
== مصادر ==
 
* [https://refactoring.guru/smells/speculative-generality صفحة توثيق التخطيط الشمولي المفرط في موقع refactoring.guru.]
 
* [https://refactoring.guru/smells/speculative-generality صفحة توثيق التخطيط الشمولي المفرط في موقع refactoring.guru.]
 +
[[تصنيف:Refactoring]]
 +
[[تصنيف:Refactoring Smells]]
 +
[[تصنيف:Refactoring Dispensables]]

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

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

وجود أصنافٍ (classes) أو توابعَ (methods) أو حقولٍ (fields) أو معاملاتٍ (parameters) غير مُستخدَمة في الشيفرة.

أسبابها

إنشاء عناصرَ إضافيّةٍ "قد" يحتاجها المبرمج مستقبلًا لميّزات يُخطِّط لها (وقد لا تُنفَّذ أصلًا)، وغير مستخدمةٍ بالوقت الحاليّ، مما يجعل الشيفرة أكثر صعوبةً بالفهم والدعم.

وما الحل؟

إليك المزيد

ستحصل بحلِّ المشكلة على شيفرةٍ أقصرَ ودعمٍ (support) أسهل.

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

يمكن تجاهل المشكلة بإحدى الحالتين:

  • عند العمل بأكثرَ من إطار عملٍ (framework) واحدٍ حيث يكون من المنطقيّ -بلا شكٍّ- إنشاءُ مهامٍ غير مستخدَمةٍ في إطار العمل الحاليّ طالما أنّ هناك إطار عملٍ آخر بحاجةٍ لها.
  • ارتباط أيّ عنصرٍ تنوي حذفه باختبارات الوحدات (unit tests)، إذ ستحدث مشكلةٌ (إن حُذِفت بعض العناصر) عند حاجة الاختبار لطريقةٍ ما للحصول على المعلومات الداخليّة من الصنف (class) أو أداءِ عمليّات خاصّة (special) أثناء إجراء الاختبار.

انظر أيضًا

مصادر