February 2009 Blog Posts

1024 Test

Alessandro qualche giorno fa ha mostrato i nostri 1000 test. Beh, io sono un geek, e 1000 non è molto significativo, per me la soddisfazione è scriverne 1024! :-D PS A dire il vero ero molto contento anche quando avevamo raggiunto quota 42!

posted @ Friday, February 20, 2009 12:00 AM | Feedback (11)

Working with legacy code (seconda puntata)

Forse avrete capito che in questi giorni sto facendo un po' di refactoring su un'applicazione di un cliente e scavando nel codice se ne scoprono delle belle. Oggi con il mio fidato debugger mi sono imbattuto in questa curiosa implementazione di una proprietà:   public NameValueCollection Values{ get { if (_multiValue == null && _stringValue != null) { _stringValue = Preprocess(_stringValue); _multiValue = new HttpValueCollection(); if ((_stringValue.IndexOf('&') >= 0) || (_stringValue.IndexOf('=') >= 0)) { ...

posted @ Saturday, February 14, 2009 3:07 PM | Feedback (12)

Working with legacy code

Cerco sempre di stare attento a come scrivo il codice e prediligo sempre la leggibilità e il design rispetto ad altre metriche e ritengo che una delle prime regole sia riuscire a far capire l'utente cosa fa un metodo semplicemente leggendo la firma. Oggi ho perso 2 ore su un'applicazione legacy per risolvere uno stupidissimo bug. Dopo aver scavato un po' con il debugger sono riuscito ad identificare un blocco di istruzioni che causavano l'errore, tra le istruzioni chiamate c'era questa innocua istruzione:   collection.Add(currentKey, newValue);   Il nome del metodo parla chiaro e anche le variabili usate sono esplicative, quindi per i primi 119 minuti...

posted @ Wednesday, February 11, 2009 11:36 PM | Feedback (15)

Corso TDD: sconto per i soci UGIALT.net

Davide ha già  riportato la notizia qui. Io mi limito ad aggiungere alcuni dettagli che interessano noi dev relativi al corso sul Test Driven Design. Il corso è articolato su 2 giornate, ha un taglio molto pratico e buona parte della seconda giornata è dedicato allo sviluppo di un'applicazione in TDD. Partiremo dallo Unit Testing, passando per i mock Object e il refactoring per arrivare a sentire il ritmo del TDD. Non mancheranno digressioni sulle metriche del codice, sui principi del OOD, sulle best practices e sui problemi che il  TDD risolve (e su quelli che lascia aperti). Volete un altro motivo per venire? Per tutti gli iscritti allo...

posted @ Tuesday, February 10, 2009 2:53 PM | Feedback (32)

Una nuova sfida (plastica)

Durante i primi anni di attività da freelancer l'unica cosa che mi mancava rispetto al lavoro da dipendente era la presenza di un team. Dallo scorso Marzo questo io e Alessandro abbiamo iniziato a collaborare su alcuni progetti costituendo di fatto un team. Sempre nel 2008 alcuni amici si sono aggiunti a questo team e le collaborazioni hanno iniziato a dare i loro frutti. Cosi, la scorsa settimana, tanto per ufficializzare la cosa io e Alessandro abbiamo costituito CodicePlastico srl con l'idea di provare a creare qualcosa di nuovo e diverso dalle classiche software house italiane. Sappiamo che ci sarà da lavorare...

posted @ Saturday, February 7, 2009 6:24 PM | Feedback (16)

Agile Day - Result Day

Anche io pubblico il mio risultato. Negli ultimi mesi ho lavorato su un progetto abbastanza grosso e insieme ad Alessandro abbiamo cercato di usare alcune pratiche XP. Cosa ha funzionato: - Pair Programming: abbiamo fatto tante giornate in pair e il codice prodotto è sempre stato ottimo rispetto alle parti in cui lavoravamo da soli. - TDD: applicato in quasi tutti i moduli (escluso la reportistica) ha portato ad un design molto modulare con le competenze ben distribuite. - Refactoring: grazie ai due punti sopra quando è stato necessario fare un grosso refactoring per introdurre una funzionalità  non prevista il costo di refactoring è...

posted @ Sunday, February 1, 2009 3:29 PM | Feedback (5)