Na programação, existe uma tentação constante: esconder as dependências. Seja por "facilidade", por "limpar a assinatura dos métodos", ou por simplesmente não querer pensar muito sobre arquitetura.
Mas aqui no The{Code}Naked, a gente vai direto ao ponto:
Tornar dependências explícitas é um ato de coragem. E também de responsabilidade.
O que são dependências implícitas?
São aquelas que você não vê no código. Mas que estão lá:
- Um Singleton acessado de qualquer lugar.
- Uma variável global.
- Uma classe que instancia tudo sozinha dentro de si.
- Um recurso externo "mágico" que aparece do nada.
Essas dependências funcionam... até você querer testar, refatorar ou reutilizar. Aí, elas viram um pesadelo.
Por que deixar explícito assusta?
Porque obriga você a:
- Pensar no que o código realmente precisa.
- Modelar melhor os fluxos.
- Passar mais parâmetros, o que pode parecer "feio" ou "vergonhoso".
Mas a verdade é que mostrar as dependências é mostrar a verdade. E esconder é maquiar a bagunça.
O mito do "menos é mais"
"Ah, mas se eu tiver que passar tudo por parâmetro, vai ficar poluído!"
Errado. Vai ficar claro.
Clareza é mais importante que elegância aparente. Um método que recebe um logger, um validador e um repositório deixa evidente que ele não funciona sozinho. E isso é bom.
Transparência ajuda o time
Quando as dependências estão visíveis:
- Fica mais fácil testar
- Fica mais fácil trocar implementações
- Fica mais fácil entender o que aquele módulo realmente faz
E no fim, isso acelera o desenvolvimento em vez de atrapalhar.
Exemplos de coragem no código
class PedidoService {
constructor(
private logger: Logger,
private validador: ValidadorPedido,
private repositorio: RepositorioPedido
) {}
}
Esse código não tem vergonha de mostrar o que precisa. Ele é claro, testável e adaptável.
Conclusão nua e crua
Código limpo não é aquele que parece pequeno. É o que você entende rápido. E nada torna o entendimento mais rápido do que ver claramente as dependências.
Aqui no The{Code}Naked, a gente chama isso de maturidade arquitetural. Quem faz código pra durar, mostra de cara do que ele depende.
Tenha coragem de tornar suas dependências visíveis. Isso mostra que você sabe o que está fazendo.
No próximo artigo: "Menos acoplamento, mais sanidade: o que aprendemos com o FP"