Code smell: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
IndyJrBot (discussione | contributi)
m fix vari, typos fixed: 7 Giugno → 7 giugno
Riga 3:
Nella letteratura sul refactoring esistono numerosi elenchi di code smell; il più noto e influente è quello proposto da [[Martin Fowler]] nel suo celebre libro sul refactoring.<ref name="fowlerbook"/> Sia nell'elenco di Fowler che in altri, i code smell non sono mai definiti in termini assoluti, e la loro identificazione comprende sempre un elemento di giudizio soggettivo da parte del programmatore.
 
== Esempi di code smell ==
* ''Codice duplicato'', uguale o pressoché uguale, in diverse sezioni di codice (viola il principio [[Don't Repeat Yourself]]).
* ''Metodo troppo lungo''.
Riga 15:
* ''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'' di averne bisogno".<ref>[http://xp.c2.com/YouArentGonnaNeedIt.html You Arent Gonna Need It]</ref>
 
== Note ==
<references/>
 
== Voci correlate ==
* [[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 Giugnogiugno 2011.
* Martin Fowler ''et al.'' (1999), ''Refactoring: Improving the Design of Existing Code'', Addison-Wesley. ISBN 0-201-48567-2.
 
 
[[Categoria:Programmazione]]