Antipadrão

Um antipadrão é uma prática comum de engenharia de software que normalmente é considerada ineficaz ou contraproducente. O termo foi cunhado pela primeira vez por Andrew Koenig na edição de setembro de 1995 do Relatório C++.

Existem muitos tipos diferentes de anti-padrões, mas todos eles compartilham uma característica comum: todos eles são soluções para problemas comuns que na verdade acabam piorando esses problemas.

Alguns anti-padrões comuns incluem:
- O Blob: Este anti-padrão ocorre quando um sistema de software cresce tão grande e complexo que se torna difícil de entender ou mudar.
- O Código Spaghetti: Este é um código que é tão confuso e complicado que se torna difícil de entender ou de mudar.

- O Martelo de Ouro: Esta é a tendência para usar a mesma ferramenta ou técnica para resolver todos os problemas, independentemente de ser ou não a melhor ferramenta para o trabalho.

- O Martelo de Prata: Esta é a crença de que existe uma solução única e perfeita para um problema, e que todas as outras soluções são inferiores.

- Não Inventado Aqui: Esta é a tendência para evitar usar as soluções existentes para os problemas, e em vez disso tentar inventar novas soluções.

- YAGNI: Isto significa "You Ain't Gonna Need It", e é a crença de que é melhor escrever código que apenas resolve o problema em questão, e evitar escrever código que possa ser necessário no futuro.

- A Lei de Demeter: Este é o princípio de que um objecto só deve interagir com os objectos que lhe estão directamente relacionados.

- Objetos de Deus: Este é um objeto que sabe demais ou faz demais, e como resultado, é difícil de mudar ou reutilizar.

- Big Ball of Mud: Este é um sistema de software mal estruturado e difícil de entender.

- Vendor Lock-in: Esta é a situação em que uma empresa se torna dependente de um fornecedor específico para um determinado produto. O que é cheiro de código na programação? Cheiro de código é um termo frequentemente usado em programação para descrever um cheiro de código é um sintoma de má concepção ou más práticas de programação. O cheiro de código normalmente não são bugs, mas podem indicar problemas com o código que podem levar a bugs.

O que é um AntiPattern em ágil?

Um anti-padrão em programação ágil é qualquer comportamento ou prática que vá contra a essência da metodologia ágil. Isto pode incluir coisas como usar muito processo, falhar em aceitar mudanças, ou não ser capaz de trabalhar de forma iterativa e incremental. O que é uma arquitetura anti-padrão? Um anti-padrão de arquitetura é um padrão de design que é considerado ineficaz, ineficiente, ou indesejável.

Como é que se identifica anti-padrões?

Não existe uma definição precisa de um anti-padrão, mas a um nível elevado, pode ser pensado como um erro comum de programação que leva a um código sub-óptimo. Existem muitos tipos diferentes de anti-padrões, mas alguns exemplos comuns incluem:

- algoritmos ineficientes
- estruturas de dados ineficientes
- código de difícil leitura ou manutenção
- código desnecessariamente complexo

Há muitos recursos disponíveis que podem ajudá-lo a identificar anti-padrões no seu código. Um desses recursos é o livro "Anti-Padrões": Refactoring Software, Architectures, and Projects in Crisis" de William J. Brown, et al. Este livro contém uma colecção de ensaios que descrevem vários anti-padrões em detalhe, juntamente com as soluções sugeridas. O que é Anti-padrão em Java? Um anti-padrão é uma prática de programação comum que é geralmente considerada ineficiente ou incorreta.