إزالة راية التحكم (Remove Control Flag).
لديك متغير منطقي (Boolean) يعمل كراية تحكم لتعبيرات منطقية متعددة.
بدلاً من هذا المتغير، استخدم break و continue و return.
##Example
##Why Refactor
يعود تاريخ رايات التحكم إلى الأيام الغابرة، عندما كان المبرمجون "التقليديون" يصرون دائماً على وجود نقطة دخول واحدة لدوالهم (سطر التصريح عن الدالة) ونقطة خروج واحدة (في نهاية الدالة تماماً).
في لغات البرمجة الحديثة، أصبح هذا الأسلوب البرمجي قديماً وعفا عليه الزمن، نظراً لامتلاكنا معاملات خاصة لتعديل تدفق التحكم في الحلقات والتراكيب المعقدة الأخرى:
-
break: يوقف الحلقة التكرارية. -
continue: يوقف تنفيذ فرع الحلقة الحالي وينتقل للتحقق من شروط الحلقة في التكرار التالي. -
return: يوقف تنفيذ التابع بالكامل ويعيد نتيجته إذا كانت محددة في المعامل.
##Benefits
- غالباً ما يكون كود راية التحكم أكثر ثقلاً وتعقيداً من الكود المكتوب باستخدام معاملات التحكم في التدفق (Control flow operators).
##How to Refactor
-
ابحث عن تعيين القيمة لراية التحكم التي تتسبب في الخروج من الحلقة (Loop) أو التكرار الحالي.
-
استبدلها بـ
break، إذا كان هذا خروجاً من حلقة تكرارية؛ أوcontinue، إذا كان خروجاً من تكرار (Iteration)؛ أوreturn، إذا كنت بحاجة إلى إرجاع هذه القيمة من التابع. -
أزل الكود المتبقي والفحوصات المرتبطة براية التحكم.