---
title: "إزالة راية التحكم (Remove Control Flag)"
type: "refactoring-technique"
slug: "remove-control-flag"
url: "http://localhost:3000/ar/remove-control-flag.md"
category: "تبسيط التعبيرات الشرطية"
description: "المشكلة: لديك متغير منطقي (Boolean) يعمل كراية تحكم لتعبيرات منطقية متعددة. الحل: بدلاً من هذا المتغير، استخدم break و continue و return."
---
# إزالة راية التحكم (Remove Control Flag)

> المشكلة: لديك متغير منطقي (Boolean) يعمل كراية تحكم لتعبيرات منطقية متعددة. الحل: بدلاً من هذا المتغير، استخدم break و continue و return.

## المشكلة

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

## الحل

بدلاً من هذا المتغير، استخدم `break` و `continue` و `return`.

## دواعي إعادة الهيكلة

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

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

* `break`: يوقف الحلقة التكرارية.
* `continue`: يوقف تنفيذ فرع الحلقة الحالي وينتقل للتحقق من شروط الحلقة في التكرار التالي.
* `return`: يوقف تنفيذ التابع بالكامل ويعيد نتيجته إذا كانت محددة في المعامل.

## الفوائد

* غالباً ما يكون كود راية التحكم أكثر ثقلاً وتعقيداً من الكود المكتوب باستخدام معاملات التحكم في التدفق (Control flow operators).

## كيفية إعادة الهيكلة

1. ابحث عن تعيين القيمة لراية التحكم التي تتسبب في الخروج من الحلقة (Loop) أو التكرار الحالي.
2. استبدلها بـ `break`، إذا كان هذا خروجاً من حلقة تكرارية؛ أو `continue`، إذا كان خروجاً من تكرار (Iteration)؛ أو `return`، إذا كنت بحاجة إلى إرجاع هذه القيمة من التابع.
3. أزل الكود المتبقي والفحوصات المرتبطة براية التحكم.
