استخدام التعليمة Switch

من موسوعة حسوب
< Refactoring
مراجعة 13:43، 26 فبراير 2019 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

وجود تركيبٍ معقَّدٍ لتعليمة switch أو عدّة تعليمات if متسلسلة.

أسبابها

ما يميِّز البرمجة كائنيّة التوجّه (OO) هو اعتمادها النادر على المعاملين switch و case، إذ تُوزَّع شيفرة switch بمواقع مختلفة من البرنامج بدلًا من تجمعيها في تعليمة switch واحدةٍ، وعند إضافة شرطٍ جديدٍ عليك إيجاد كافّة شيفرات switch لتعديلها، وكقاعدة عامّة: وجود تعليمة switch يعني أن عليك البدء بالتفكير بمبدأ التعدديّة الشكليّة (polymorphism).

وما الحل؟

إليك المزيد

ستحصل بحلِّ المشكلة على شيفرة أكثر تنظيمًا.

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

  • عند استخدام تعليمة switch لتنفيذ مهامِّ بسيطةٍ جدًا في فروعها، فلا داعي حينئذٍ لأيّ من التغييرات بالشيفرة.
  • تًستخدم تعليمة switch غالبًا في نمط التصميم المُنتِج (Factory design pattern) وعندها لا يُعدُّ وجودها بالشيفرة مشكلةً ومن الممكن تجاهلها، وللمزيد من التفاصيل راجع التوابع المُنتجة (Factory methods) أو المُنتِج المُجرَّد (abstract Factory) لاختيار الصنف المُنشَأ.

انظر أيضًا

مصادر