---
title: Do Not Use Dead Code
impact: LOW
impactDescription: reduces codebase noise and improves maintainability
tags: dead-code, cleanup, maintenance, quality, php
---

## Do Not Use Dead Code

Dead code (commented-out blocks, unused functions, unreachable logic) confuses developers and increases codebase noise. Git history already preserves deleted code, so there is no need to keep it in the active codebase.

**Incorrect (keeping dead code):**

```php
function processOrder($order) {
    // Old implementation - keeping for reference
    /*
    $total = 0;
    foreach ($order->items as $item) {
        $total += $item->price * $item->quantity;
    }
    */
    
    $total = $this->calculator->calculate($order);
    return $total;
}

// Unused function - "someone might need it later"
function legacyCalculation() {
    // ...
}
```

**Correct (clean code):**

```php
function processOrder($order) {
    return $this->calculator->calculate($order);
}

// Delete unused functions - rely on Git history if needed later.
// Delete commented-out code blocks.
// Remove unused 'use' statements.
```

**Types of dead code:**
- Commented-out code blocks.
- Unused functions, methods, or classes.
- Unused `use` (import) statements.
- Unreachable code (logic after a `return` or `throw`).
- Unused private properties or local variables.

**Tools:** PHPStan, Psalm, PHP_CodeSniffer, PR review
