working in progress: SharePoint 2010, Visual Studio 2010, ASP.NET, WPF, Scrum, Patterns, TDD, Refactorin To Pattern

Duplicated Code: Introduce Polymorphic Creation with Factory Method

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


Conditional Complexity: Replace Conditional Logic with Strategy

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...


Solution Sprawl: Move Creation Knowledge to Factory

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


Indecent Exposure: Encapsulate Classes with Factory

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


Indecent Conditional Logic: Replace Conditional Logic with Stategy and Nullable Object

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


Conditional Complexity: Move Embellishment to Decorator

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:


Primitive Obsession: Replace State-Altering Conditionals with State

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


Replace Constructors with Creation Methods Example

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


Cosa sono i code smells

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


Refactoring notion 1

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


 1 di 2   1  »  Last »