Skip to content

Acoplamiento de Proveedor (Vendor Coupling)

ID: vendor_coupling | Severidad: Medium (default)

Identifica módulos que están demasiado estrechamente acoplados a una biblioteca o framework externo específico.

Por qué esto es un problema

Si decides cambiar la biblioteca en el futuro, tendrás que cambiar el código en muchos lugares. También hace que las pruebas sean más difíciles porque tienes que simular (mock) la biblioteca externa en todas partes.

Cómo corregir

Usa el Patrón Adapter. Crea una interfaz en tu dominio e impleméntala usando la biblioteca externa. El resto de tu código solo debería depender de tu interfaz.

Configuración

yaml
rules:
  vendor_coupling:
    severity: medium
    max_files_per_package: 10
    ignore_packages:
      - 'lodash'
      - 'rxjs'
      - '@nestjs/*'

Opciones

  • max_files_per_package (predeterminado: 10): El número máximo de archivos que pueden importar un paquete específico antes de que se reporte un smell.
  • ignore_packages: Una lista de nombres de paquetes o patrones glob para ignorar.

Released under the MIT License.