Voltar
🎨 Design de Código

Shotgun Surgery

Uma pequena mudança requer alterações em muitos lugares

Quando mudar uma coisa exige mexer em mil lugares diferentes.

🎨
👶

Explicando como se você tivesse 5 anos

Agora sim! 🎉

Imagina que para trocar de roupa, você precisa mudar também as cortinas, os lençóis e o tapete porque tudo tem que combinar. Cansativo, né?

⚠️
🚩

Por que isso é uma Red Flag?

Atenção ao problema! ⚡

Quando uma mudança simples requer tocar em dezenas de lugares, há alto risco de esquecer algum lugar e introduzir bugs. Indica que uma responsabilidade está fragmentada ao invés de centralizada. O custo de manutenção é alto e a velocidade de desenvolvimento cai. A oportunidade está em refatorar para centralizar responsabilidades relacionadas.

Compartilhar:

História

Martin Fowler descreveu este code smell em "Refactoring: Improving the Design of Existing Code". O nome vem da imagem de uma espingarda (shotgun) que espalha o impacto em uma área ampla.

Quem Inventou

Martin Fowler

Ano: 1999

Para que serve

Identificar código onde responsabilidades estão espalhadas demais.

Explicação Detalhada

Shotgun Surgery é um code smell onde fazer uma mudança simples requer alterações espalhadas por muitos módulos diferentes. Isso acontece quando uma responsabilidade está fragmentada pelo sistema. Exemplo: mudar um formato de data exige alterar 20 arquivos. Isso aumenta o risco de bugs (esquecer um lugar) e o custo de manutenção. Solução: refatorar para centralizar a responsabilidade em um único lugar.