TheCodeNaked

Dependências explícitas são um ato de coragem - Parte 3 (Copy)

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"

Sobre o autor

TheCodeNaked

No TheCodeNaked, programar é consequência, não ponto de partida. Antes do código, vem a dúvida, a análise, o contexto. Não seguimos fórmulas — questionamos. Criar software é pensar com clareza. O resto é só digitação.

TheCodeNaked

Criar com clareza. Codificar com intenção.

TheCodeNaked

Ótimo! Você se inscreveu com sucesso.

Bem-vindo de volta! Você acessou com sucesso.

Você se inscreveu com sucesso o TheCodeNaked.

Sucesso! Verifique seu e-mail para acessar com o link mágico.

As suas informações de faturamento foram atualizadas.

Seu pagamento não foi atualizado