Skip to content

Violação de Abstração (Abstractness Violation)

ID: abstractness | Gravidade: Baixa (padrão)

Baseado nas métricas "Main Sequence" de Robert C. Martin. Mede o equilíbrio entre estabilidade (I) e abstração (A). Um módulo deve ser estável e abstrato, ou instável e concreto.

Por que isso é um smell

Módulos que são estáveis e concretos estão na "Zona de Dor" (difíceis de mudar, mas outros dependem deles). Módulos que são instáveis e abstratos estão na "Zona de Inutilidade" (ninguém depende deles, mas são abstratos).

Como corrigir

  • Na Zona de Dor: Introduza abstrações (interfaces, classes abstratas) para desacoplar a implementação do módulo de seus usuários.
  • Na Zona de Inutilidade: Considere tornar o módulo mais concreto ou remover abstrações não utilizadas para simplificar o código.

Configuração

yaml
rules:
  abstractness:
    severity: medium

Released under the MIT License.