If-else vs Switch Case: الفرق والمقارنة

الفرق بين if else و switch و المقارنة 660617

ما هو إذا كان آخر؟

عبارة "if else" هي شكل تحكم في البرمجة يسمح بتنفيذ كتل التعليمات البرمجية بناءً على المواقف الإيجابية بالكامل. إنه مثل إرشاد هذا النظام إلى ما يتحرك لاستيعاب الظروف.

يكون عمل "if else" كما يلي - عندما يتم التحقق من شرط ضمن تأكيد "if" وإذا تبين أنه دقيق، فسيتم إكمال كتلة التعليمات البرمجية المرتبطة. إذا تم تقييم الموقف على أنه خطأ، فسيتم تنفيذ كتلة التعليمات البرمجية الموجودة في إعلان آخر (إذا كان هناك إعلان) بدلاً من ذلك.

يكمن جمال عبارات "إذا كان غير ذلك" في تنوعها. يمكنهم إدارة الاحتمالات التي تتراوح من التقييمات إلى إجراءات اتخاذ الاختيار المعقدة. علاوة على ذلك، يمكن للمطورين ربط عبارات if معًا للتعامل مع شروط متعددة بشكل تسلسلي. بالإضافة إلى ذلك، يمكن للمنشئين إنشاء أشجار قرارات معقدة عن طريق تداخل عبارات "if" داخل كل منها.

ما هي حالة التبديل؟

عبارة "حالة التبديل" عبارة عن بنية تحكم في البرمجة مصممة لتبسيط عملية الاختيار بناءً على تكلفة التعبير الفردي. فهو يسمح للبرنامج باختيار كتلة تعليمات برمجية معينة لتنفيذها من مجموعة ثابتة من الحالات المحددة مسبقًا.

يتم تقييم قيمة التعبير، ويقوم هذا النظام بمقارنتها بالقيم المرتبطة بالعديد من تسميات "الحالة". عندما يتم اكتشاف حالة صحية، يتم الانتهاء من كتلة التعليمات البرمجية المقابلة لتلك الحالة. قد يتم تنفيذ كتلة "افتراضية" غير إلزامية في حالة عدم اكتشاف أي تطابقات.

اقرأ أيضا:  Blockchain مقابل الحوسبة السحابية: الفرق والمقارنة

تعتبر `Switch-case` مفيدة بشكل خاص أثناء التعامل مع المواقف التي يكون فيها للمتغير أو التعبير قيمتان منفصلتان ويجب اتخاذ حركات غير عادية بناءً على قيم كل منهما. يمكن أن يجعل التعليمات البرمجية أكثر إيجازًا وقابلية للقراءة من سلسلة عبارات "if-else" لنفس السبب.

الفرق بين إذا كان آخر وحالة التبديل

  1. يعتمد تدفق التحكم في if-else على التفرع الشرطي للظروف، بينما، من ناحية أخرى، يعتمد تدفق التحكم في حالة التبديل على قيمة التعبير.
  2. يمكن لعدد شروط if-else معالجة العديد من المجموعات والشروط. وفي المقابل، يتم استخدام عدد الشروط بشكل أساسي لمجموعة محدودة من القيم.
  3. سلوك السقوط الموضح بواسطة if-else هو أنه لا يوجد سقوط ضمني، ويتم تنفيذ فرع واحد، بينما، من ناحية أخرى، تسمح حالة التبديل بالسقوط الضمني ويتم تنفيذ فروع متعددة. 
  4. يعد وضوح التعليمات البرمجية لـ if-else هو الأفضل للمواقف المعقدة حيث لا يمكن تصنيف الشروط بسهولة. وفي الوقت نفسه، يعد وضوح التعليمات البرمجية لحالة التبديل هو الأفضل للتعبير الفردي مع خيار السيناريوهات المتعددة.
  5. يختلف أداء if-else تبعًا للظروف المعقدة. وفي المقابل، يكون أداء علبة التبديل فعالاً بالنسبة للحالات الكبيرة.
  6. تصبح إمكانية قراءة if-else أقل أثناء التعامل مع الظروف الكبيرة. من ناحية أخرى، تصبح إمكانية قراءة حالات التبديل أكثر قابلية للقراءة أثناء التعامل مع الحالات المميزة.
  7. في حالة خلاف ذلك، يكون من السهل إجراء فحوصات النطاق، في حين أنه، من ناحية أخرى، في حالة التبديل، فهو غير مناسب لإجراء فحوصات النطاق.
  8. في حالة إذا كان غير ذلك، يمكن أن تتداخل الشروط وتكون أصلية. ومن ناحية أخرى، في حالة التبديل، تكون الشروط حصرية ولا يمكن تداخلها.
اقرأ أيضا:  البرامج الضارة مقابل البرامج الإعلانية: الفرق والمقارنة

مقارنة بين حالة if-else وحالة التبديل

معلمة المقارنةلو غير هذاحالة التبديل
التحكم في التدفقويستند تماما على ظرف التفرع المشروطيعتمد في المقام الأول على قيمة التعبير
عدد الشروطإنه قادر على معالجة العديد من التركيبات والظروفيتم استخدامه في المقام الأول لمجموعة محدودة من القيمة
سلوك السقوطلا يوجد سقوط ضمني، ويتم تنفيذ فرع واحد فقطفهو يسمح بالسقوط الضمني، ويتم تنفيذ فروع متعددة
وضوح الكودإنه الأفضل للمواقف المعقدة حيث لا يمكن تصنيف الشروط بسهولةإنه الأفضل للتعبير الفردي مع خيار سيناريوهات متعددة
الأداءيختلف تبعا للظروف المعقدةإنه فعال للحالات الكبيرة
قراءةيصبح أقل قابلية للقراءة أثناء التعامل مع الظروف الكبيرةيصبح أكثر قابلية للقراءة أثناء التعامل مع الحالات المميزة
الشيكات النطاقمن السهل إجراء الشيكاتغير مناسب لإجراء فحص النطاق
الشروط المتداخلةوفي هذه الحالة يمكن أن تتداخل الشروط، ويمكن أن تكون صحيحةوفي هذه الحالة، تكون الشروط حصرية ولا تتداخل

مراجع حسابات

  1. https://www.open-std.org/Jtc1/sc22/WG21/docs/papers/2004/n1741.pdf
  2. https://dl.acm.org/doi/abs/10.1145/1389095.1389436
طلب واحد؟

لقد بذلت الكثير من الجهد في كتابة منشور المدونة هذا لتقديم قيمة لك. سيكون مفيدًا جدًا بالنسبة لي ، إذا كنت تفكر في مشاركته على وسائل التواصل الاجتماعي أو مع أصدقائك / عائلتك. المشاركة هي ♥ ️

هل تريد حفظ هذه المقالة لوقت لاحق؟ انقر فوق القلب الموجود في الزاوية اليمنى السفلية للحفظ في مربع المقالات الخاصة بك!

نبذة عن الكاتب

شارا ياداف حاصلة على ماجستير في إدارة الأعمال في المالية. هدفها هو تبسيط الموضوعات المتعلقة بالتمويل. عملت في مجال التمويل لمدة 25 عامًا تقريبًا. وقد عقدت العديد من الفصول المالية والمصرفية لكليات الأعمال والمجتمعات. اقرأ المزيد عندها صفحة بيو.