Este documento descreve vários anti-padrões, incluindo práticas como copiar e colar código, análise excessiva de projetos, e desenvolvimento de código espaguete. É fornecida uma taxonomia de anti-padrões organizacionais, de gestão de projetos, de análise, de design de software e de programação.
14. Death march
Toda a gente sabe que o project irá ser um desastre,
excepto o CEO.
No entanto a verdade permanece escondida e o
projecto mantem-se vivo até o Dia Zero quando surge
o “Big Bang”
15. Groupthink
Algo que um brainstorm não deve ser. Os membros do
grupo evitam lançar ideias fora da zona do conforto do
grupo.
16. Smoke and mirrors
(vaporware)
Demonstrar o quão não implementadas as
funcionalidades/funções irão aparecer
22. Object Orgy
Não existir possibilidade de impedir acesso aos
internals de um objecto. Normalmente associado ao
Perl (por programadores não informados).
Inside-Out Objects?
23. Poltergeist
Objectos que apenas servem para passar informação
para outros. Tipicamente também conhecido o Design
Pattern “Adaptor”.
24. Yo-Yo Problem
Existe uma hierarquia complexa de classes que obriga o
olhar para “cima” e para “baixo” para perceber o fluxo
de informação. Java?
Resolve-se com delegação ou composição de classes.
35. Spaghetti code
Código no qual a estrutura e fluxo é praticamente
incompreensivel, tipicamente GOTO’s.
36. Ravioli code
Criado criado por um conjunto de componentes soltos
mas que a integração resultante é confusa.
Humm Frames anyone?
37. Spaghetti with
meatballs
Parecido com o Raviolli code, mas para alem da
integração dos componentes ser confusa, os próprios
componentes também o são!
38. Lasagna Code
Código em camadas (arquitecturas MVC, Three-tier)
com interfaces definidas mas na qual o código de cada
camada se mistura desorganizado. Rails? :)
39. Big ball of mud
Um programa/sistema onde é impossível distinguir
arquitectura. Um conjunto de interligação de
componentes misturados em Spagetti, Lasagna e Raviolli
Code.
40. Duct Tape
Componentes interligados por forma a que o minimo
de interligação aconteça, mas sem o minimo de
estrutura.
Programa em C, que chama um script Perl, que gera um
Bash, que compila um code generator em Java, que gera
um programa em PHP para imprimir o número 42!
41. Job Keeper
Um “Big ball of mud” escrito como segurança do
emprego do colaborador.
Este alegadamente consegue corrigir qualquer bug do
programa utilizando “Duct Tape” anti-pattern.
42. The End
www.braceta.com
www.twitter.com/braceta