Es cualquier síntoma en el código fuente de un programa que posiblemente indica un problema más profundo.

  • Código duplicado
  • Método grande
  • Clase grande
  • Demasiados parámetros
  • Una clase que usa excesivamente métodos de otra clase
  • una clase que tiene dependencias en detalles de implementación de otra clase
  • No cumple el principio de sustitución de Liskov
  • Clase perezosa que hace poco
  • Uso de patrones de diseño demasiado complicados
  • Identificadores excesivamente largos, cortos
  • Callback excesivos