---
title: "Supprimer le drapeau de contrôle"
type: "refactoring-technique"
slug: "remove-control-flag"
url: "http://localhost:3000/fr/remove-control-flag.md"
category: "Simplifying Conditional Expressions"
description: "Problème : vous avez une variable booléenne qui sert de drapeau de contrôle pour plusieurs expressions booléennes. Solution : au lieu de la variable, utilisez break, continue et return."
---
# Supprimer le drapeau de contrôle

> Problème : vous avez une variable booléenne qui sert de drapeau de contrôle pour plusieurs expressions booléennes. Solution : au lieu de la variable, utilisez break, continue et return.

## Problem

Vous avez une variable booléenne qui sert de drapeau de contrôle pour plusieurs expressions booléennes.

## Solution

Au lieu de la variable, utilisez `break`, `continue` et `return`.

## Why Refactor

Les drapeaux de contrôle remontent à une époque révolue, lorsque les « bons » programmeurs avaient toujours un seul point d'entrée dans leurs fonctions (la ligne de déclaration de la fonction) et un seul point de sortie (tout à la fin de la fonction).

Dans les langages de programmation modernes, ce tic de style est obsolète, car nous disposons d'opérateurs spéciaux pour modifier le flux de contrôle dans les boucles et autres constructions complexes :

* `break` : arrête la boucle
* `continue` : interrompt l'exécution de la branche courante de la boucle et passe à la vérification des conditions de la boucle lors de l'itération suivante
* `return` : interrompt l'exécution de toute la fonction et renvoie son résultat s'il est fourni dans l'opérateur

## Benefits

* Le code à base de drapeau de contrôle est souvent bien plus lourd que le code écrit avec des opérateurs de flux de contrôle.

## How to Refactor

1. Repérez l'affectation de valeur au drapeau de contrôle qui provoque la sortie de la boucle ou de l'itération courante.
2. Remplacez-la par `break` s'il s'agit d'une sortie de boucle ; `continue` s'il s'agit d'une sortie d'itération ; ou `return` si vous devez renvoyer cette valeur depuis la fonction.
3. Supprimez le code et les vérifications restants associés au drapeau de contrôle.
