---
title: "Código Morto"
type: "code-smell"
slug: "dead-code"
url: "http://localhost:3000/pt-br/smells/dead-code.md"
category: "Dispensables"
description: "Uma variável, parâmetro, campo, método ou classe não é mais usado (geralmente porque está obsoleto)."
---
# Código Morto

> Uma variável, parâmetro, campo, método ou classe não é mais usado (geralmente porque está obsoleto).

## Signs and Symptoms

Uma variável, parâmetro, campo, método ou classe não é mais usado (geralmente porque está obsoleto).

## Reasons for the Problem

Quando os requisitos do software mudaram ou correções foram feitas, ninguém teve tempo de limpar o código antigo.

Esse tipo de código também pode ser encontrado em condicionais complexas, quando um dos ramos se torna inalcançável (devido a um erro ou outras circunstâncias).

## Payoff

* Tamanho de código reduzido.
* Manutenção mais simples.
## Relations

**Treated by**

- [Classe Inline](/pt-br/inline-class.md)
- [Recolher Hierarquia](/pt-br/collapse-hierarchy.md)
- [Remover Parâmetro](/pt-br/remove-parameter.md)


## Detected by

- **sonar** `S1481` — Variáveis locais não utilizadas devem ser removidas (https://rules.sonarsource.com/java/rspec-1481/)
- **sonar** `S1172` — Parâmetros de função não utilizados devem ser removidos (https://rules.sonarsource.com/java/rspec-1172/)
- **sonar** `S1068` — Campos "private" não utilizados devem ser removidos (https://rules.sonarsource.com/java/rspec-1068/)
- **sonar** `S1144` — Métodos "private" não utilizados devem ser removidos (https://rules.sonarsource.com/java/rspec-1144/)
- **sonar** `S1854` — Atribuições não utilizadas devem ser removidas (https://rules.sonarsource.com/java/rspec-1854/)
- **eslint** `no-unused-vars` — Proibir variáveis não utilizadas (https://eslint.org/docs/latest/rules/no-unused-vars)
- **eslint** `no-unused-private-class-members` — Proibir membros de classe privados não utilizados (https://eslint.org/docs/latest/rules/no-unused-private-class-members)
