> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sourcery.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Merge Duplicate Blocks

#### Sourcery refactoring id: `merge-duplicate-blocks`

#### Description:

Restructure conditional to merge duplicate branches together

#### Before:

```python
def process_payment(payment):
    if payment.currency == "USD":
        process_standard_payment(payment)
    elif payment.currency == "EUR":
        process_standard_payment(payment)
    else:
        process_international_payment(payment)
```

#### After:

```python
def process_payment(payment):
    if payment.currency == "USD" or payment.currency == "EUR":
        process_standard_payment(payment)
    else:
        process_international_payment(payment)
```

#### Explanation:

We should always be searching out opportunities to remove duplicated code. A
good place to do so is where there are multiple identical blocks inside an
`if..elif` chain. This refactoring combines such blocks.

Now if we need to change the `process_standard_payment(payment)` line we can do
it in one place instead of two. This becomes even more important if these blocks
involve multiple lines.
