الفرق بين المراجعتين ل"Refactoring/data class"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:أصناف البيانات (Data Classes)}}</noinclude> == توصيف المشكلة == وجود العديد من أصناف البيانات...')
 
ط (مراجعة وتدقيق.)
 
سطر 27: سطر 27:
 
== مصادر ==
 
== مصادر ==
 
* [https://refactoring.guru/smells/data-class صفحة توثيق أصناف البيانات في موقع refactoring.guru.]
 
* [https://refactoring.guru/smells/data-class صفحة توثيق أصناف البيانات في موقع refactoring.guru.]
 +
[[تصنيف:Refactoring]]
 +
[[تصنيف:Refactoring Smells]]
 +
[[تصنيف:Refactoring Dispensables]]

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

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

وجود العديد من أصناف البيانات في الشيفرة، والتي تُستخدَم لتخزين البيانات التي تحتاج إليها الأصناف الأخرى، إذ تحتوي على حقولٍ للبيانات (fields) وتوابع للوصول إليها (accessors) أي توابعَ للحصول على بيانات الحقول (getter) وأخرى لتعديلها (setter)، ولا تقوم هذه الأصناف بأيّ مهمّة أخرى ولا تستطيع كذلك تنفيذ العمليات (operations) على بياناتها بمفردها.

أسبابها

من الطبيعي أن يحتوي الصنف -بادئ الأمر- على القليل من الحقول العامّة (public fields) وبعض التوابع للوصول إليها (accessors) ولكن إن استمرَّ الصنف كذلك فلن تتمتَّعَ الكائنات (objects) المُشتقَّة عنه بقوة التحكُّم ببياناتها وإجراء العمليَّات عليها.

وما الحل؟

إليك المزيد

سيساعد حلُّ المشكلة في:

  • تسهيل فهم الشيفرة وتحسين تنظيمها، فقد أصبحت العمليات المتعلِّقة بتلك الحقول مُجمَّعةً في مكانٍ واحدٍ بدلًا من وجودها بأجزاء متفرِّقة.
  • الكشف عن مواضع التكرار (duplicates) في شيفرة العميل (client code).

انظر أيضًا

مصادر