Continuiamo con lo smell: Duplicated Code Problema: Due o più classi, gerarchicamente implementate (ovvero avendo la stessa classe base), contengono lo stesso metodo. Solitamente questo smell nasce dal copia&incolla o perch&egr
Continuiamo con lo smell: Conditional Complexity
Problema:
Esiste un metodo di controllo con una logica condizionale composta da diverse varianti i quali valori si conosceranno solamente a runtime.
La stessa logica di control...
Continuiamo con lo smell: Solution Sprawl Problema: La creazione di un oggetto avviene recuperando dati e codice in giro per il nostro progetto. Motivazione: Quando la creazione di un oggetto avviene tramite il passaggio di più cl
Continuiamo con lo smell: Indecent Exposure Problema: Il client istanzia direttamente un oggetto che risiede in una libreria. Motivazione: Durante la realizzazione di una libreria, si potrebbe cadere nella tentazione di creare delle
Continuiamo con lo smell: Indecent Conditional Logic Questo smell l’ho creato io questa mattina. Nel senso che ho trovato del codice che non mi piaceva e ho voluto trovare una soluzione. Problema: Il client crea dei tipi con valori di
Continuiamo con lo smell: Conditional Complexity Problema: Collegandoci al post precedente: Conditional Complexity: Replace Conditional Logic with Strategy continuiamo con un’altra possibile soluzione Un esempio di logica errata:
Continuiamo con lo smell: Primitive Obsession Problema: Gestire le condizioni dello stato di un oggetto è complicato e complesso. Un esempio di logica errata: while (command != 'e')
{
Console.WriteLine(&quo
Continuando la serie di post sui smells, inizio ad introdurre i possibili smell e le relative possibili soluzioni. Il primo che affronteremo riguarda una classe con 5 costruttori (anche se personalmente già 2 costruttori sono troppi): pub
Far Refactoring, o migliorare il design del codice esistente, richiedere innanzitutto capire qual’è il codice da migliorare. Quindi avere un elenco di ciò che è smell nel vostro codice è fondamentale: Duplicat
Martin Fowler: "a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior" Chi tra voi non ha mai lavorato su un vecchio codice, di un vecchio proget
Statistics