Concept
Questa gilda si è concentrata sul refactoring kata, una pratica che si concentra sul miglioramento continuo attraverso esercizi ripetuti e l’implementazione di buone pratiche di sviluppo. Il tutto è stato organizzato in diverse sessioni, ciascuna delle quali ha portato ad outcome differenti, ma in egual modo soddisfacenti ed appaganti.
Che Cos’è il Refactoring Kata?
Il refactoring kata è una pratica derivata dai kata di programmazione, che prevede la ripetizione sistematica di esercizi specifici per migliorare le proprie competenze, il tutto con focus sul refactoring.
Kata riprende ripetizioni sistematica di movimenti come nel karate, fino ad arrivare ad avere una memoria muscolare. In poche parole, con questi esercizi in seguito viene automatico scrivere codice “bello” e identificare subito la puzza di codice, ovvero dove quest’ultimo presenta delle falle.
L’idea è quindi quella di dedicarsi a compiti che nella quotidianità spesso vengono trascurati a causa delle scadenze e della fretta: questi esercizi aiutano i developer a ragionare su come migliorare il codice esistente, affinare le proprie abilità e implementare le buone pratiche di sviluppo in un ambiente controllato e senza pressione.

L’organizzazione delle sessioni
Le sessioni sono state quattro.
Prima Sessione: è stata interamente dedicata al ripasso delle buone pratiche di sviluppo. I developer studiato i principali pattern di design e quelli di refactoring, che permettono di identificare “odori malevoli”, sintomo di un codice scritto male; il tutto è stato fatto basandosi principalmente sulle teorie del famoso sito “Design Patterns: Elements of Reusable Object-Oriented Software” del Gang of Four.
Seconda Sessione: sono stati fatti esercizi di Refactoring Kata. Ogni membro del gruppo ha partecipato attivamente, facendo miglioramenti incrementali al codice e passando la “palla” al successivo. Questa pratica ha permesso di simulare un ambiente collaborativo e di apprendere nuovi approcci al refactoring.
Terza e quarta sessione: una delle critiche comuni ai refactoring kata è che spesso si lavora su progetti fittizi, che non rispecchiano le complessità dei progetti reali.
Per superare questa limitazione, i membri della gilda hanno deciso di applicare le tecniche di refactoring a un progetto reale: il loro timesheet, ossia lo strumento utilizzato per tracciare le ore lavorative. Essendo stato sviluppato inizialmente da un membro del team per imparare a programmare, presentava alcune aree migliorabili. Il team ha quindi identificato le aree problematiche e applicato le tecniche apprese durante le sessioni teoriche e pratiche.

Conclusioni
L’esperienza della gilda con il refactoring kata ha mostrato come la pratica costante e l’applicazione di buone pratiche di sviluppo possano portare a miglioramenti significativi. Dalle sessioni teoriche agli esercizi pratici, fino all’applicazione su progetti reali, ogni fase ha contribuito a rafforzare le competenze del team e a migliorare la qualità del codice.