Alto Acoplamento
ID: high_coupling | Gravidade: Medium (default)
O alto acoplamento ocorre quando um módulo depende de muitos outros módulos (alto Fan-out).
Por que isso é um smell
- Rigidez: Uma mudança em qualquer uma das dependências pode exigir uma mudança neste módulo.
- Fragilidade: O módulo tem maior probabilidade de quebrar quando qualquer uma de suas dependências muda.
- Difícil de Testar: Requer muitos mocks para isolar para testes de unidade.
Como corrigir
- Extrair Responsabilidades: Se um módulo tem muitas dependências, provavelmente está fazendo demais.
- Usar Abstrações: Dependa de uma interface ou de uma fachada em vez de muitas implementações concretas.
Configuração
yaml
rules:
high_coupling:
severity: medium
max_cbo: 20Regra ESLint
Este detector está disponível como uma regra ESLint para feedback em tempo real no seu editor.
javascript
// eslint.config.js
export default [
{
rules: {
'@archlinter/no-high-coupling': 'warn',
},
},
];Veja Integração ESLint para instruções de configuração.