---
title: "Modification divergente"
type: "code-smell"
slug: "divergent-change"
url: "http://localhost:3000/fr/smells/divergent-change.md"
category: "Change Preventers"
description: "Vous vous retrouvez à devoir modifier de nombreuses méthodes sans rapport entre elles lorsque vous apportez des changements à une classe. Par exemple, lors de l'ajout d'un nouveau type de produit, vous devez modifier les méthodes de recherche, d'affichage et de commande des produits."
---
# Modification divergente

> Vous vous retrouvez à devoir modifier de nombreuses méthodes sans rapport entre elles lorsque vous apportez des changements à une classe. Par exemple, lors de l'ajout d'un nouveau type de produit, vous devez modifier les méthodes de recherche, d'affichage et de commande des produits.

## Signs and Symptoms

Vous vous retrouvez à devoir modifier de nombreuses méthodes sans rapport entre elles lorsque vous apportez des changements à une classe. Par exemple, lors de l'ajout d'un nouveau type de produit, vous devez modifier les méthodes de recherche, d'affichage et de commande des produits.

## Reasons for the Problem

Ces modifications divergentes sont souvent dues à une mauvaise structure du programme ou à de la « programmation par copier-coller ».

## Payoff

* Améliore l'organisation du code.
* Réduit la duplication de code.
* Simplifie la maintenance.
## Relations

**Treated by**

- [Extraire une classe](/fr/extract-class.md)
- [Extraire une superclasse](/fr/extract-superclass.md)
- [Extraire une sous-classe](/fr/extract-subclass.md)

