---
title: "Generalidade Especulativa"
type: "code-smell"
slug: "speculative-generality"
url: "http://localhost:3000/pt-br/smells/speculative-generality.md"
category: "Dispensables"
description: "Há uma classe, método, campo ou parâmetro sem uso."
---
# Generalidade Especulativa

> Há uma classe, método, campo ou parâmetro sem uso.

## Signs and Symptoms

Há uma classe, método, campo ou parâmetro sem uso.

## Reasons for the Problem

Às vezes o código é criado “por via das dúvidas”, para dar suporte a recursos futuros previstos que nunca chegam a ser implementados. Como resultado, o código se torna difícil de entender e de manter.

## Payoff

* Código mais enxuto.
* Manutenção mais fácil.
## Relations

**Treated by**

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


## Detected by

- **sonar** `S1172` — Unused function parameters should be removed (https://rules.sonarsource.com/java/RSPEC-1172/)
- **sonar** `S1144` — Unused "private" methods should be removed (https://rules.sonarsource.com/java/RSPEC-1144/)
- **sonar** `S1068` — Unused "private" fields should be removed (https://rules.sonarsource.com/java/RSPEC-1068/)
- **eslint** `no-unused-vars` — Disallow unused variables (args option for parameters) (https://eslint.org/docs/latest/rules/no-unused-vars)
- **pylint** `W0613` — unused-argument (https://pylint.readthedocs.io/en/stable/user_guide/messages/warning/unused-argument.html)
