Code smell: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 8:
* ''Classe troppo grande''.
* ''Lista di parametri troppo lunga'' (per metodi o funzioni).
* ''Feature envy''<ref name="codinghorror"/> o ''data envy'' ("invidia dei dati"): una classe che usa massicciamente i servizi o i dati di un'altra.
* ''Costanti magiche'': valori letterali (numeri, stringhe) che appaiono direttamente ("cablati") nel codice.
* ''Espressioni complesse'' di basso livello (per esempio aritmetiche, di manipolazione di stringhe, ...).
Riga 14:
* ''Nomi oscuri'': nomi e identificatori (di variabili, attributi, classi, ...) che non chiariscono il significato inteso dell'entità corrispondente.
* ''Nomi inconsistenti'': insiemi di nomi e identificatori inconsistenti fra loro (per esempio, uso inconsistente di maiuscole e minuscole).<ref name="codinghorror">J. Atwood, ''[http://www.codinghorror.com/blog/2006/05/code-smells.html Code smells]'' presso [http://www.codinghorror.com/ codinghorror.com]</ref>
* ''Dead code'' ("codice morto"): porzioni di codice che non sono usate (e non vengono cancellate), contribuendo al costo di manutenzione del codice senza produrre alcun beneficio.<ref name="codinghorror"/>
* ''Generalità speculativa'': codice scritto in una forma più generale del necessario per poter essere ''eventualmente'' applicato in futuro in contesti più ampi. L'[[extreme programming]] ha una specifica regola contro questa pratica, "You Aren't Gonna Need It" ("non ne avrai bisogno"): ''implementa sempre le cose quando ne hai effettivamente bisogno, mai quando prevedi soltanto di poterne avere bisogno''.<ref>[http://xp.c2.com/YouArentGonnaNeedIt.html You Arent Gonna Need It]</ref>
Riga 23:
* [[Anti-pattern]]
* [[Refactoring]]
==Collegamenti esterni==
* Jeff Atwood, ''[http://www.codinghorror.com/blog/2006/05/code-smells.html Code smells]'' presso [http://www.codinghorror.com/ codinghorror.com]
==Bibliografia==
* Andrew Binstock (2011), ''In Praise of Small Code'', «Information Week», 27 Giugno 2011.
* Martin Fowler ''et al.'' (1999), ''Refactoring: Improving the Design of Existing Code'', Addison-Wesley. ISBN 0-201-48567-2.
[[Categoria:Programmazione]]
|