Code smell: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: sintassi dei link e modifiche minori |
|||
Riga 4:
==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''.
* ''Classe troppo grande''.
Riga 12:
* ''Espressioni complesse'' di basso livello (per esempio aritmetiche, di manipolazione di stringhe, ...).
* ''What comments'' ("commenti cosa"): commenti che spiegano cosa fa una certa porzione di codice (sintomo che il codice non è sufficientemente chiaro di per sé).<ref>[http://tobeagile.com/2009/08/20/code-comments-good-or-bad/ Code comments: Good or Bad?], presso [http://tobeagile.com tobeaile.com]</ref>
* ''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.
* ''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>
==Note==
|