Pular para o conteudo principal

Como melhorar um módulo

Como evoluir parte ruim do sistema com ganho real de clareza, sem transformar desconforto técnico em reforma ampla sem alvo.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O problema

Tem módulo que irrita tanto que a vontade imediata e esta:

“Vou limpar tudo de uma vez.”

O problema e que “limpar tudo” quase nunca e um objetivo técnico bom.

Geralmente e só uma forma elegante de dizer:

  • estou desconfortavel com esse código
  • ainda não entendi onde esta a dor real
  • quero trocar caos conhecido por caos novo

Modelo mental

Pense assim:

melhorar um módulo e aumentar sua capacidade de mudar com menos dor, não deixa-lo “bonito” por satisfação pessoal

Isso muda o foco.

Em vez de reforma ampla, você começa a perguntar:

  • o que esta mais caro hoje?
  • leitura?
  • teste?
  • acoplamento?
  • erro recorrente?

Melhoria boa nasce de uma dor real. Não de uma ambicao estetica difusa.

Quebrando o problema

Encontre a dor dominante

Nem todo módulo ruim esta ruim pelo mesmo motivo.

Talvez o maior problema seja:

  • regra de negócio misturada com infra
  • leitura confusa
  • dependência demais
  • teste caro
  • mudança sempre arriscada

Sem achar a dor dominante, qualquer limpeza vira aleatoria.

Escolha um ganho pequeno e claro

Exemplos melhores de objetivo:

  • separar calculo puro de IO
  • isolar dependência externa
  • renomear fronteira ambigua
  • remover um fluxo morto

Esses alvos melhoram algo concreto.

“Dar uma geral” não melhora nada de forma especifica.

Não mexa em tudo porque tudo incomoda

Módulo antigo costuma concentrar vários problemas ao mesmo tempo.

Isso não significa que o melhor movimento seja atacar todos juntos.

Mexer em menos coisas, com mais entendimento, quase sempre sai melhor.

Meca se a mudança realmente ajudou

Depois da intervenção, a pergunta e:

  • ficou mais fácil entender?
  • ficou mais fácil testar?
  • ficou mais fácil mudar?

Se a resposta não ficou mais forte, talvez a limpeza tenha sido mais cenografica do que útil.

Exemplo simples

Imagine um módulo de faturamento com 600 linhas.

Tudo incomoda:

  • nomes ruins
  • if demais
  • chamada externa no meio
  • regra espalhada

A reação ruim seria abrir um PR gigante:

  • reorganizar arquivos
  • trocar todos os nomes
  • extrair várias classes
  • “padronizar” tudo

A reação melhor seria escolher um ganho específico:

  1. separar calculo puro das chamadas externas
  2. proteger esse comportamento
  3. validar que o fluxo continua igual
  4. só depois decidir o próximo passo

Isso não da a satisfação cinematografica da grande limpeza.

Mas da progresso real.

Erros comuns

  • Chamar desconforto geral de estratégia técnica.
  • Fazer PR grande demais para um problema mal definido.
  • Misturar vários objetivos de limpeza no mesmo passo.
  • Reorganizar demais sem melhorar nenhuma dor concreta.
  • Achar que módulo melhorado e módulo com mais camadas.

Como um senior pensa

Quem tem mais experiência costuma resistir a vontade de “resolver o módulo”.

Em vez disso, pensa:

“Qual a menor mudança que melhora materialmente esse trecho sem explodir o resto?”

Essa pergunta muda bastante o tipo de refatoração que entra no sistema.

Fica menos teatral. E mais útil.

O que o entrevistador quer ver

Em entrevista, esse tema mede maturidade de manutenção.

O avaliador quer ver se você:

  • escolhe alvo concreto
  • evita limpeza estetica
  • trabalha em passos pequenos
  • pensa em custo de mudança e risco

Uma resposta forte costuma soar assim:

“Eu não tentaria limpar tudo. Primeiro entenderia qual dor do módulo esta mais cara hoje e escolheria uma intervenção pequena com ganho claro, como separar uma regra de negócio ou isolar uma dependência.”

Melhorar um módulo não e produzir um antes e depois bonito. E reduzir uma dor real sem criar outra maior.

Grande limpeza inutil quase sempre e energia alta aplicada num diagnostico fraco.

Resumo rápido

O que vale manter na cabeça

Checklist de pratica

Use isto ao responder

Você concluiu este artigo

Próximo artigo Como refatorar com controle de risco Artigo anterior Como ler código legado

Continue explorando

Artigos relacionados