إزالة رايات التحكم (Remove Control Flag)

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

المشكلة

لديك متغيرات منطقية تعمل كرايات تحكم لتعبيرات منطقية متعددة.

الحل

استخدم الكلمات المفتاحية break و continue و return بدلًا من هذه المتغيرات.

لم إعادة التصميم؟

تعود رايات التحكم إلى الأيام الخوالي، عندما كان يُتاح دائمًا للمبرمج "الأصيل" نقطة إدخال واحدة للدوال (سطر تعريف الدالة) ونقطة خروج واحدة (في نهاية الدالة).

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

  • break: إيقاف الحلقة.
  • continue: إيقاف تنفيذ فرع الحلقة الحالي والاستمرار في التحقق من شروط الحلقة في الدورة التالية.
  • return: إيقاف تنفيذ الدالة بأكملها وإعادة نتيجتها (إذا ما أُعطيت).

فوائد تطبيق الحل

  • غالبا ما تكون شيفرة راية التحكم أكثر ثقلًا من الشيفرة البرمجية المكتوبة مع عوامل تدفق التحكم.

آلية الحل

  1. ابحث عن تعيين قيمة راية التحكم التي تؤدي إلى الخروج من الحلقة أو من الدورة الحالية.
  2. استبدل ذلك مع break، إذا كان هذا الخروج من الحلقة؛ أو مع continue، إذا كان هذا الخروج من الدورة الحالية؛ أو return، إذا كنت بحاجة إلى الخروج من الدالة وإعادة قيمة محدَّدة.
  3. أزل الشيفرة البرمجية المتبقية والتحققات المقترنة براية التحكم.

مصادر