getlatestversion
Divertirsi anche con il codice legacy
Marco Amendola@marcoamendola
Giorgio Di Nardo@akelitz
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
Top Related