Divertirsi anche con il codice legacy

Post on 22-Jan-2018

145 views 5 download

Transcript of Divertirsi anche con il codice legacy

getlatestversion

Divertirsi anche con il codice legacy

Marco Amendola@marcoamendola

marco.amendola@outlook.com

Giorgio Di Nardo@akelitz

akelitz@hotmail.com

Sponsor

• Codice scritto da altri che viene

ereditato

• Codice intricato, illeggibile, difficile da

manutenere

• Codice senza test

Cos’è il codice «legacy»

To me, legacy

code is simply

code without tests.

Michael C. Feathers«Working Effectively with Legacy Code»

• Identificare le cose da cambiare

• Individuare i punti di test

• Rompere le dipendenze

• Scrivere i test

• Effettuare le modifiche e/o il refactoring

Gestire le modifiche nel codice legacy

• Applicazione Windows Forms

• Lettura da un file di testo di dati

• Elaborazione

• Importazione all’interno di un database

Progetto di partenza

Applicazione legacy

Demo

Primo refactoring

Demo

• Assegnazione nomi significativi

• Estrazione classe

• Uso del compilatore per individuare punti da sanare

• Trasformazione in metodi espliciti

• Estrazione interfaccia

• Spostamento in libreria esterna

• Ora siamo pronti per i test

Rendere l’applicazione testabile primo refactoring

Aggiunta test

Demo

• Approval test

• Installazione pacchetto Nuget

• Primo run e approvazione

• Test integrazione UI

• Mock dell’interfaccia estratta

• Trucco: far fallire primo test per ottenere valore atteso

• Ora siamo pronti per migliorare il codice

Rendere l’applicazione testabile aggiunta dei test

Secondo refactoring

Demo

• Estrazione metodi

• Feedback immediato attraverso esecuzione test

• Rimozione stored procedure

Migliorare il codice dell’applicazionesecondo refactoring

Feedback Form

http://bit.ly/DOAW16FEED1

Dedicateci 2 minuti del vostro tempo,

e ci aiuterete a crescere e migliorare!

Track Intro

http://bit.ly/DOAW16FEED2

Track Avanzata