Qualità in Small-Safe-Steps




I principi XP che guidano questo modo di procedere sono
Improvement, e Baby Steps



Ecco degli esempi di miglioramenti della qualità che richiedono tempo e sono a rischio di errore e quindi vanno fatti in modo incrementale :


  • Remove code duplication tra 2 diverse classi o pagine aspx, tra una una pagina asp e una aspx - quando è la nuova feature che si sta scrivendo che crea la duplicazione invece di eliminarla subito è più sicuro prima crearla rendendola evidente e scrivere i test e  solo poi provare a eliminarla. cosi si consegna la nuova feature funzionante, non si rompe quella preesistente e poi in modo sicuro si può procedere nell'eliminazione

  • Remove conditional con l'ereditarietà, con i pattern State o Strategy o Special Case, con Hash Table , con ...quando è la nuova feature che si sta scrivendo cheaggiunge un ulteriore case a uno switch o un altro if a una catena di if-else invece di eliminare gli if subito (rischiando di rompere la feature esistenti prima ancora di aver creato quella nuova) conviene aggiungere l'if e terminare la nuova feature per poi dedicare tempo alla rimozione degli if

  • Move responsibility nella classe corretta - richiede spesso molte modifiche che conviene fare gradualmente meglio se guidati dal TDD perché l'alternativa è affidarsi a una idea personale che può variare molto da persona a persona

In questi casi è utile anche la strategia di procedere in parallelo. A livello di metodo ad esempio sviluppare la modifica su un overload e sostituire il vecchio metodo con l'overload solo all'ultimo passo dopo aver verificato che l'overload funziona co n la nuova funzionalità. A livello di classe si può procedere similmente con una seconda classe che implementa la stessa interfaccia.


Print | posted @ Sunday, June 21, 2009 11:49 PM

Comments have been closed on this topic.