milano-xpug

 

ReportMeet20070404

Page history last edited by Gabriele 2 yrs ago

Meet, 04 aprile 2007. Tema: Working Effectively With Legacy Code

 

Ormai siamo di casa al mulligans, il nostro luogo preferito per le riunioni di tipo divulgativo: niente slide, niente codice, solo una bella chiaccherata con un moderatore che ha fatto i compiti a casa. Il tema della serata è stato il codice legacy, ovvero il tema dominante del libro di Michael Feathers, nonchè un tema essenziale per un programmatore agile, sopratutto se consideriamo il mercato italiano :-)

 

Abbiamo iniziato nel modo canonico dando una definizione di "Codice Legacy"

  • Codice non scritto direttamente da noi
  • Codice scritto da noi parecchio tempo prima
  • Codice privo di test unitari

 

Quest'ultima in particolare è la definizione che sembra più accreditata, infatti il libro di Feathers dedica grande spazio alle tecniche che possono essere utilizzate per poter testare un pezzo di codice Legacy. Il test infatti viene visto come strumento per "caratterizzare" il codice che dobbiamo modificare, sostanzialmente il primo passo che si deve fare per poter modificare un pezzo di codice è sapere esattamente come funziona e il modo migliore di farlo è proprio attraverso l'uso di test unitari.

 

A differenza del TDD in cui i test vengono utilizzati come strumento di Design, in questo caso i test vengono scritti in maniera retroattiva per creare una specie di gabbia per il codice da modificare, gabbia che sarà utile per capire il codice e per garantirci che sarà modificato solo nel modo in cui vogliamo noi.

 

Durante la riunione abbiamo sottolineato spesso, con esperienze personali, quanto sia fondamentale conservare il più possibile il comportamento del codice che siamo chiamati a modificare, infatti la correzione di un bug, nella maggior parte dei casi non è una buona idea. Può succedere infatti che un buon comportamento del sistama sia ottenuto attraverso quello che è stato chiamato un "allineamento di bug", ovvero due bug nello stesso percorso d'esecuzione possono creare un buon comportamento, togliendone uno si ottiene un bug percepibile dall'utente finale

 

Come era prevedibile ognuno dei presenti aveva molti episodi da raccontare e la serata è passata così, un po' tragicomico ma divertente. Purtroppo non ci sarà un video di supporto, in alternativa ecco un'istantanea della serata

 

Comments (0)

You don't have permission to comment on this page.