Generalidad especulativa.
Hay una clase, un método, un campo o un parámetro sin usar.
##Signos y síntomas
Hay una clase, un método, un campo o un parámetro sin usar.

interface PaymentFactoryProvider {
PaymentFactory factory(); // solo existe una implementación
}
class CashProvider implements PaymentFactoryProvider {
public PaymentFactory factory() { return new CashFactory(); }
}##Causas del problema
A veces el código se crea «por si acaso», para dar soporte a funciones futuras previstas que nunca llegan a implementarse. Como resultado, el código se vuelve difícil de entender y de mantener.
##Tratamiento
##Beneficios
-
Código más esbelto.
-
Mantenimiento más sencillo.