Anti-pattern
procedure o modi di fare usati durante il processo di sviluppo del software che, pur essendo lecitamente utilizzabili, si rivelano successivamente inadatti o controproduttivi nella pratica
Template:Da tradurre In informatica, gli anti-pattern sono problemi che si incontrano frequentemente durante lo sviluppo dei programmi e che dovrebbero essere evitati.
Il termine antipattern è stato creato dalla cosiddetta Gang of Four (la banda dei quattro) nel loro libro intitolato Design Pattern, che presentava degli esempi di buona pratica di programmazione che gli autori chiamano nel libro, appunto, Design Patterns (in contrasto con gli anti-pattern).
Gli anti-pattern sono trappole logiche in cui il programmatore può facilmente cadere.
Gli anti-pattern più comuni
(Nota: il nome inglese deve essere lasciato in quanto è quello con cui i pattern, e gli anti-pattern, sono conosciuti nella lingua italiana)
- Inversione di astrazione - abstraction inversion
- Complessità involontaria - accidental complexity
- Azione a distanza - action at a distance
- Accumulate and fire
- Punto di vista ambiguo - ambiguous viewpoint
- Paralisi da analisi - analysis paralysis
- Enorme palla di fango - big ball of mud
- fede cieca - blind faith
- boat anchor
- busy spin
- caching failure
- Controllo di tipo invece che di appartenenza - checking type instead of membership
- code momentum
- Codice puzzolente - code smell
- continuous obsolescence
- Programmazione copia e incolla - copy and paste programming
- creeping featurism
- Vicolo cieco - Dead End
- Design by committee
- DLL hell
- double-checked locking
- empty subclass failure
- fencepost error
- God object
- input kluge
- interface bloat
- Valori cablati- hard code
- lava flow
- magic number - Magic number
- magic pushbutton
- mushroom management
- poltergeist
- Ottimizzazione prematura -premature optimization
- Codice procedurale - procedural code
- Reinventare la ruota - reinventing the wheel
- Reinventare la ruota quadrata - Reinventing the Square Wheel
- smoke and mirrors
- software bloat
- Spaghetti code - spaghetti code
- stovepipe system
- vendor lock-in
- warm bodies
- yo-yo problem
Bibliografia
- William J. Brown, Raphael C. Malveau, Hays W. McCormick III, and Thomas J. Mowbray. 1998. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. John Wiley & Sons. ISBN 0471197130.