إزالة رايات التحكم (Remove Control Flag)
المشكلة
لديك متغيرات منطقية تعمل كرايات تحكم لتعبيرات منطقية متعددة.
الحل
استخدم الكلمات المفتاحية break
و continue
و return
بدلًا من هذه المتغيرات.
لم إعادة التصميم؟
تعود رايات التحكم إلى الأيام الخوالي، عندما كان يُتاح دائمًا للمبرمج "الأصيل" نقطة إدخال واحدة للدوال (سطر تعريف الدالة) ونقطة خروج واحدة (في نهاية الدالة).
لكن هذا النمط المتشدد عفا عليه الزمن في لغات البرمجة الحديثة، إذ أصبح لدينا عوامل خاصة لتعديل تدفق التحكم في الحلقات وغيرها من التركيبات المُعقدة مثل:
break
: إيقاف الحلقة.continue
: إيقاف تنفيذ فرع الحلقة الحالي والاستمرار في التحقق من شروط الحلقة في الدورة التالية.return
: إيقاف تنفيذ الدالة بأكملها وإعادة نتيجتها (إذا ما أُعطيت).
فوائد تطبيق الحل
- غالبا ما تكون شيفرة راية التحكم أكثر ثقلًا من الشيفرة البرمجية المكتوبة مع عوامل تدفق التحكم.
آلية الحل
- ابحث عن تعيين قيمة راية التحكم التي تؤدي إلى الخروج من الحلقة أو من الدورة الحالية.
- استبدل ذلك مع
break
، إذا كان هذا الخروج من الحلقة؛ أو معcontinue
، إذا كان هذا الخروج من الدورة الحالية؛ أوreturn
، إذا كنت بحاجة إلى الخروج من الدالة وإعادة قيمة محدَّدة. - أزل الشيفرة البرمجية المتبقية والتحققات المقترنة براية التحكم.