الفرق بين المراجعتين لصفحة: «Refactoring/smells/bloaters»

من موسوعة حسوب
إنشاء الصفحة.
 
طلا ملخص تعديل
 
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:المبالغة والإطالة (Bloaters)}}</noinclude>
قد يزداد حجم الشيفرات والتوابع (methods) والأصناف (classes) ازديادًا كبيرًا ليصل لمرحلةٍ يصعُب التعامل معها، ولا يحدث هذا بشكلٍ فجائيِّ دفعةً واحدةً، بل يكون ناتجًا عن تراكم الإضافات أثناء تطوير البرنامج (وخاصةً عندما لا يبذل أحدٌ جهدًا للحدِّ من ذلك التشعب)، ويبدو هذا التضخم واضحًا.
قد يزداد حجم الشيفرات والتوابع (methods) والأصناف (classes) ازديادًا كبيرًا ليصل لمرحلةٍ يصعُب التعامل معها، ولا يحدث هذا بشكلٍ فجائيِّ دفعةً واحدةً، بل يكون ناتجًا عن تراكم الإضافات أثناء تطوير البرنامج (وخاصةً عندما لا يبذل أحدٌ جهدًا للحدِّ من ذلك التشعب)، ويبدو هذا التضخم واضحًا.
# [[Refactoring/long method|التوابع الطويلة (long methods)]]
# [[Refactoring/long method|التوابع الطويلة (long methods)]]
سطر 18: سطر 19:
== مصادر ==
== مصادر ==
* [https://refactoring.guru/refactoring/smells/bloaters صفحة توثيق المبالغة والإطالة في موقع refactoring.guru.]
* [https://refactoring.guru/refactoring/smells/bloaters صفحة توثيق المبالغة والإطالة في موقع refactoring.guru.]
[[تصنيف:Refactoring]]
[[تصنيف:Refactoring Smells]]
[[تصنيف:Refactoring Bloaters]]

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

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

  1. التوابع الطويلة (long methods)
  2. الأصناف الواسعة (large classes)
  3. هوس الحقول الأساسيّة (primitives obsession)
  4. المعاملات الكثيرة في التوابع (long parameter list)
    • المشكلة: وجود ما يزيد عن ثلاثة أو أربعة معاملات (parameters) مُمرَّرة للتابع (method).
    • الحل: يتفاوت الحل تبعًا للحالة؛ فيمكن أن يكون الحل هو تبديل المعاملات التي تنتج قيمتها عن استدعاء تابع إلى هذا التابع نفسه، أو تمرير الكائن ككل بدلًا من تمرير البيانات المرتبطة به بشكل متفرق، أو إنشاء كائن معاملات وتمريرها سويةً.
  5. البيانات المُجمَّعة (data clumps)
    • المشكلة: تكرار مجموعةٍ من المتغيِّرات (variables) بشكلٍ متطابقٍ تمامًا في عدّة أجزاء من الشيفرة، إذ يجب تحويل تلك المجموعات إلى أصنافها (classes) الخاصّة بها.
    • الحل: يعتمد الحل على حالة الاستخدام؛ فيمكن أن يكون الحل هو إنشاء صنف ونقل الحقول إليه، أو إنشاء كائن معاملات لفصلها في صنف مستقل، أو تمرير كائن يمثِّل البيانات المراد تمريرها كحقول متفرقة، أو قد يكون الحل ببساطة هو نقل مجموعة الحقول المكررة إلى صنف للبيانات.

مصادر