---
title: Do Not Leave Unused Variables
impact: LOW
impactDescription: reduces code noise and prevents potential logic bugs
tags: variables, cleanup, quality, kotlin
---

## Do Not Leave Unused Variables

Unused variables suggest incomplete refactoring, abandoned logic, or potential bugs. They clutter the code and distract the reader.

**Incorrect (unused variables):**

```kotlin
fun processOrder(order: Order): List<String> {
    val user = order.user       // Never used
    val total = order.total     // Never used
    val items = order.items
    
    return items.map { it.name }
}
```

**Correct (only needed variables):**

```kotlin
fun processOrder(order: Order): List<String> {
    return order.items.map { it.name }
}

// In lambdas or destructuring, use underscore (_) for intentionally ignored parameters
order.items.forEachIndexed { _, item ->
    println(item.id)
}

val (id, _) = getPair() // ignore second element
```

**Tools:** detekt (UnusedPrivateMember, UnusedLocalVariable), Android Studio Linter, Kotlin Compiler warnings
