Siamo tornati, questo mese, a fare un po’ di TDD a distanza di tempo. Purtroppo con una partecipazione non proprio numerosissima, abbiamo iniziato con un piccolo kata di esempio, proposto insieme alla sua soluzione (disponibile sul nostro repo).
Continua a leggereArchivi tag: kata
Incontro di febbraio 2016
Questo febbraio ci ha visti nuovamente alle prese con il codice, con un nuovo code dojo. Il kata scelto per questa volta è stato il noto TennisGame, in cui abbiamo cercato di implementare l’algoritmo necessario per descrivere i punteggi di un game di tennis. Nell’amplissimo spazio gentilmente fornito da LUISS EnLabs, forse complice anche la bassa affluenza, nel tempo che ci siamo dati per far diventare tutti i test verdi nessuna delle tre squadre ha avuto successo. A una breve discussione sui tentativi è seguita un’analisi delle tre soluzioni proposte, trovate online.
La cena si è consumata, come ormai di consueto, al vicino RoadHouse.
Incontro di maggio 2015
Per l’incontro di maggio 2015 il PUG Roma ha organizzato un kata, ovvero un esercizio di programmazione volto a migliorare le proprie conoscenze oppure a trovare a nuovi modi di risolvere un problema noto: in entrambi i casi, se svolto in gruppo, è una grande occasione di confronto tra programmatori.
Nell’ormai consueta sede di Enlabs, una quindicina di membri del PUG sono stati ancora più del solito parte attiva dell’incontro, e si sono messi intorno al tavolo con i computer accesi, pronti a risolvere l’esercizio.
Il kata ha avuto un sapore internazionale, perché Leonardo da Londra ed Eugenio da Exeter si sono offerti di preparare l’esercizio e guidare il gruppo nella risoluzione del kata, supportati da Giulio che era invece presente in loco: dopo il collegamento via hangout con i due expat e la spiegazione dell’esercizio, Giulio ci ha fornito il codice dell’esercizio, ci siamo divisi a coppie e abbiamo iniziato a lavorare.
L’obiettivo dell’esercizio era rifattorizzare un codice scritto da un programmatore poco esperto, che aveva infilato tutta la logica di una certa funzionalità all’interno di un unico metodo di un’unica classe, e dopo aver rifattorizzato era necessario aggiungere una nuova funzionalità.
Il tutto naturalmente doveva essere guidato dai test: un paio di test funzionali erano già presenti nel codice fornito, mentre gli altri avrebbero dovuto essere sviluppati da noi. Chiaramente i test funzionali presenti consentivano di rifattorizzare il codice con la certezza che le funzionalità non venissero compromesse, mentre i test unitari introdotti successivamente aiutavano a scrivere del codice più disaccoppiato e facilmente manutenibile. Al termine dell’esercizio, durato poco più di un’ora, ogni coppia ha raccontato agli altri il proprio lavoro, mentre Eugenio e Leonardo commentavano le soluzioni adottate.
La soddisfazione generale era percepibile nell’aria, posso affermare che sia stato una dei kata più riusciti.
Dopo il lavoro, diversi membri del PUG si sono raccolti intorno a un’altra tavola, questa volta quella della RoadHouse Grill, per mangiare e concludere la serata.