DEV Community

Cover image for Decisões demais, estratégia de menos
Bruno Egito
Bruno Egito

Posted on

Decisões demais, estratégia de menos

m muitos projetos, especialmente sob pressão de prazo, fazemos escolhas conscientes de assumir débito técnico. Isso faz parte da realidade. Clean Code e Clean Architecture têm um custo, e nem sempre há tempo ou contexto para pagar esse preço no momento certo.

O problema começa quando essas decisões deixam de ser estratégicas e passam a ser apenas reativas.

Nos últimos tempos, revisando projetos e PRs, venho percebendo um padrão recorrente: lógicas que crescem apoiadas em longas cadeias de if/else ou switch/case. Na maioria das vezes, isso não nasce de descuido, mas de pequenas decisões acumuladas, feitas para resolver o problema imediato.
Talvez não seja sempre possível aplicar Clean Code ou Clean Architecture da forma ideal.

Ainda assim, compreender as estruturas de dados e desenhar uma lógica simples para sustentá-las é o mínimo para evitar que o código se deteriore rapidamente.

E aqui entra um ponto importante: nem toda melhoria exige uma grande refactors ou uma reestruturação arquitetural completa. Muitas vezes, é possível simplificar a lógica, melhorar a estratégia e escolher melhor as estruturas de dados, reduzindo complexidade sem introduzir riscos relevantes no projeto.

Não se trata de buscar código perfeito, mas de evitar que decisões simples hoje se transformem em manutenção cara amanhã. Um mapa bem definido, uma separação mais clara de responsabilidades ou uma lógica mais declarativa já são passos suficientes para tornar o código mais previsível e menos frágil.

Essa reflexão foi o que me motivou a escrever uma sequência de artigos mais voltados para base lógica e estratégia. A ideia não é eliminar decisões, mas tomar decisões melhores, mesmo quando o contexto não permite o cenário ideal.

Porque, no fim, dívida técnica não é apenas o que deixamos de fazer. É, muitas vezes, como escolhemos resolver o problema.

  1. Trocando complexidade ciclomática por O(1) com Object Maps
  2. Refatorar Ifs Não Significa Eliminar Decisões

Top comments (0)