---
title: "Divergent Change"
type: "code-smell"
slug: "divergent-change"
url: "http://localhost:3000/en/smells/divergent-change.md"
category: "Change Preventers"
description: "You find yourself having to change many unrelated methods when you make changes to a class. For example, when adding a new product type you have to change the methods for finding, displaying, and ordering products."
---
# Divergent Change

> You find yourself having to change many unrelated methods when you make changes to a class. For example, when adding a new product type you have to change the methods for finding, displaying, and ordering products.

## Signs and Symptoms

You find yourself having to change many unrelated methods when you make changes to a class. For example, when adding a new product type you have to change the methods for finding, displaying, and ordering products.

## Reasons for the Problem

Often these divergent modifications are due to poor program structure or "copypasta programming”.

## Payoff

* Improves code organization.
* Reduces code duplication.
* Simplifies support.
## Relations

**Treated by**

- [Extract Class](/en/extract-class.md)
- [Extract Superclass](/en/extract-superclass.md)
- [Extract Subclass](/en/extract-subclass.md)

