Anti-pattern

Gli anti-pattern (o antipattern) sono, nell'ingegneria del software, dei design pattern, o, più in generale, delle procedure o modi di fare, usati durante il processo di sviluppo del software che, pur essendo lecitamente utilizzabili, si rivelano successivamente inadatti o controproducenti nella pratica. Il termine fu coniato nel 1995 da Andrew Koenig, ispirato dal libro Design Patterns: Elementi per il riuso di software ad oggetti scritto dalla Gang of Four (la banda dei quattro), i quali svilupparono il concetto di pattern nel campo del software.

Fu, tuttavia, il libro AntiPatterns del 1998 a rendere popolare l'idea e ad ampliarne l'ambito oltre il campo del design del software, includendo anche l'architettura software e la gestione dei progetti. Successivamente, altri autori hanno ulteriormente esteso il concetto per abbracciare antipattern ambientali, organizzativi e culturali.

Definizione

Secondo gli autori, devono presentarsi almeno due elementi chiave per poter distinguere un anti-pattern da un semplice errore logico o cattiva abitudine:

Molti anti-pattern sono poco più che errori, problemi irrisolvibili o cattive pratiche da evitare quando possibile. A volte chiamati "pitfalls" (tranelli) o dark pattern (modelli oscuri) se invece sono volutamente ingannevoli, si riferiscono a classi di soluzioni di problemi reinventate in modo sbagliato.

Una guida comunemente utilizzata è la "regola del tre," simile a quella per i pattern: per essere considerato un antipattern, deve essere stato osservato almeno tre volte.

Uso

Per prevenire errori che tendono a ripetersi, si può individuare la frequenza con la quale questi si ripetono, e imparare come altre persone hanno rimediato a questi cattivi pattern.

Documentare gli antipattern può essere un metodo efficace per analizzare un ambito problematico e raccogliere conoscenze esperte.

Sebbene alcune descrizioni di antipattern si limitino a documentare le conseguenze negative del pattern, una buona documentazione di un antipattern fornisce anche un'alternativa o un modo per attenuarlo.

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)

Organizzativi
Nel management
Di sviluppo

Note

  1. ↑ Ambler, Scott W., Process patterns: building large-scale systems using object technology, 1998, p. 4, ISBN 0-521-64568-9.
    «...common approaches to solving recurring problems that prove to be ineffective. These approaches are called antipatterns.»
  2. ↑ Budgen, D., Software design, 2003, p. 225, ISBN 0-201-72219-4.
    «As described in Long (2001), design anti-patterns are 'obvious, but wrong, solutions to recurring problems'.»
  3. 1 2 3 Colin J. Neill, Phillip A. Laplante e Joanna F. DeFranco, Antipatterns: managing software organizations and people, collana Applied software engineering series, 2nd ed (Online-Ausg.), CRC Press/Auerbach Publications, 2012, pp. 4-6, ISBN 978-1-4398-6216-2.
  4. ↑ Edward Jimenez, AntiPatterns, aprile 2006.

Bibliografia

Altri progetti

Collegamenti esterni

Controllo di autoritàLCCN (EN) sh00000119 · J9U (EN, HE) 987007290697705171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica