Anti-pattern
Da Wikipedia, l'enciclopedia libera.
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 Patterns: Elementi per il riuso di software ad oggetti, che presentava degli esempi di buona pratica di programmazione che gli autori chiamano nel libro, appunto, design pattern (in contrasto con gli anti-pattern).
Gli anti-pattern sono trappole logiche in cui il programmatore può facilmente cadere.
[modifica] Gli anti-pattern più comuni
(Nota: il nome in inglese è stato lasciato in quanto è quello con cui i pattern, e gli anti-pattern, sono conosciuti nella lingua italiana)
- Azione a distanza - action at a distance
- Ancora da nave - boat anchor
- Attesa a vuoto - busy spin
- Mancato caching - caching failure
- Inerzia del codice - code momentum
- Carica e spara - accumulate and fire
- Codice procedurale - procedural code
- Codice puzzolente - code smell
- Colata di lava - lava flow
- Coltellino svizzero - Swiss Army Knife (anche: Kitchen Sink)
- Complessità involontaria - accidental complexity
- Controllo di tipo invece che di appartenenza - checking type instead of membership
- Corpi tiepidi - warm bodies
- Design by committee
- Inferno delle DLL - DLL hell
- Interblocco ricontrollato - double-checked locking
- Enorme palla di fango - big ball of mud
- Anomalia della sottoclasse vuota - empty subclass failure
- Fede cieca - blind faith
- Sbagliato di uno - fencepost error
- Fumo e specchi - smoke and mirrors
- Gestione a fungo- mushroom management
- Input ad-hoc - input kluge
- Interfaccia che ingrassa - interface bloat
- In mano al fornitore - vendor lock-in
- Invecchiamento rapido - continuous obsolescence
- Inversione di astrazione - abstraction inversion
- numero magico - magic number
- Oggetto Dio - God object
- Ottimizzazione prematura - premature optimization
- Paralisi da analisi - analysis paralysis
- Poltergeist - poltergeist
- Priorità alle estensioni - creeping featurism
- Problema dello yo-yo - yo-yo problem
- Programmazione copia e incolla - copy and paste programming
- Pulsante magico - magic pushbutton
- Punto di vista ambiguo - ambiguous viewpoint
- Reinventare la ruota - reinventing the wheel
- Reinventare la ruota quadrata - Reinventing the Square Wheel
- Software che ingrassa - software bloat
- Spaghetti code - spaghetti code
- Pila di piatti - stovepipe system
- Valori cablati- hard code
- Vicolo cieco - Dead End
[modifica] Bibliografia
- William J. Brown, Raphael C. Malveau, Hays W. McCormick III, e Thomas J. Mowbray. 1998. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. John Wiley & Sons ISBN 0471197130.