feedback

5 views
Skip to first unread message

news75

unread,
Feb 10, 2012, 8:47:46 AM2/10/12
to novara-xpug
Ciao a tutti,
riassunto della serata e attesa di feed back:

Dopo una pizza e un veloce saluto all'XPUG di genova via Skype abbiamo
definito il problema.

risolvere kata gameOfLife:
http://codingdojo.org/cgi-bin/wiki.pl?KataGameOfLife lavorando in tdd e
in pair (visto il numero abbiamo formato tre coppie).
Abbiamo anche deciso di evitare di leggere un file di testo (ed evitare
il relativo parsing) e siamo partiti con una struttura dati già
gestibile dai test.
L'idea iniziale era di ruotare le coppie ad ogni pomodoro per tre
pomodori.

Il risultato è stato:

Secondo me un ottimo risultato. due delle tre coppie al termine dei tre
pomodori ha ottenuto una versione "funzionante" del GameOfLife.
In particolare si sono delineate due strategie di soluzione.
Una che prevedeva di partire dalla "griglia" ed una seconda che
prevedeva di partire dalla singola cella.
Non siamo riusciti a ruotare le coppie

Commenti personali:
penso che tutto sommato il fatto di non aver fatto ruotere le coppie in
questo caso sia stato positivo in modo che siamo riusciti a portare
avanti dall'inizio alla fine tutto un kata. La rotazione potremmo
tentarla più avanti quando saremo più abili.
Per quanto riguarda la soluzione che abbiamo sviluppato io e Alberto,
abbiamo cercato di non introdurre sovra strutture e siamo stati un
po'barbari ma alla fine
dei tre pomodori qualcosa che andava c'era. Quello che dovremmo
miglirare è sicuramente farci guidare maggiormente dai test. Una cosa
che non siamo riusciti a fare è
un bel refactoring finale.

Una cosa che mi ha fatto pensare è che la soluzione più "elegante"
quella delle celle che apparentemente sembrava portare più lontano poi
si è rivelata particolarmente difficoltosa per risolvere le ultime
condizioni.
Le altre soluzioni che sembravano meno "fini" alla fine hanno portato ad
un risultato.
Qualche commento su questo !? ;D

saluti

g.

p.s.

a breve posto la soluzione mia e di Alberto.

stefano bossi

unread,
Feb 11, 2012, 9:29:30 AM2/11/12
to novar...@googlegroups.com
giuseppe! attendo impaziente! :D

2012/2/10 news75 <new...@libero.it>

--
_____________________
http://groups.google.com/group/admins-gallug?hl=it

GalLUG - Galliate LUG & Novara XPug
Circolo ANSPI B.Quagliotti – CF 01103280036
Viale Quagliotti, 1 - Galliate (NO)
Tel/Fax: 0321.806832 - in...@gallug.it - www.gallug.it
_____________________
Per mandare una mail al gruppo: novar...@googlegroups.com
Per disiscriverti mail vuota a: novara-xpug...@googlegroups.com

Alex Gotev

unread,
Feb 11, 2012, 11:05:39 AM2/11/12
to novar...@googlegroups.com
Concordo con te Giuseppe. Nel team formato da Sergio e me invece dei test ad un certo punto ce ne siamo totalmente dimenticati (ahi ahi ahi...) e abbiamo focalizzato la nostra attenzione sulla risoluzione del problema del controllo delle celle adiacenti (con una serie di if annidati -> barbari ma funzionanti) che non abbiamo avuto il tempo di rimuovere con un bel refactoring finale. La cosa interessante è che poi abbiamo costruito i vari test e funzionavano al primo colpo con l'implementazione fatta, quindi alla fine siamo riusciti a rispettare tutte le specifiche del Kata (anche se forse non quelle dell'XP :D).
Forse (parlo da parte mia), con il fatto di essere abituato a focalizzarmi sull'algoritmo di risoluzione e cercare di ottimizzarlo, ho finito per coinvolgere anche Sergio che sicuramente ha uno stile di coding più evoluto del mio e più rispettoso delle tecniche XP. Dovrò migliorare tanto in questo aspetto e cercare di farmi guidare di più dai test.

Ad esempio nel Kata Bwling sono riuscito a farmi guidare di più dai test perchè non conoscevo bene il sistema di punteggio del bowling, mentre il Game Of Life fin dal primo istante me lo sono immaginato come una matrice in cui la chiave di soluzione è il conteggio delle celle vive intorno ad una cella X e dopo 2 anni di algoritmi con matrici in Università per me è stato spontaneo codificare subito la soluzione che avevo già in testa, forse finendo per costringere il mio socio a seguire la mia strada di soluzione e non credo che in un pair programming sia una cosa buona.
A questo proposito sarei curioso di sapere un'impressione da parte tua, Sergio.

Quindi a mio modo di vedere, facendo una retrospettiva su Giovedì direi:
:) = Kata funzionante
:| = codice che funziona, ma che non è definibile elegante come soluzione
:( = la soluzione non è stata ottenuta partendo dai test, ma concentrandosi sul puro algoritmo

stefano bossi

unread,
Feb 12, 2012, 9:26:19 AM2/12/12
to novar...@googlegroups.com
@alex
direi che l'obiettivo non è quello di fare "un bel refactoring finale" ma continuare a farlo... ogni riga di codice che aggiungi ti deve invogliare a rifattorizzare tutto quello che hai già fatto... senza aspettare di finire!

cmq aspetto anche la tua di soluzione :)
sto finendo il libro di uncle bob "Clean Code" e ne sono letteralmente stregato :D
ho voglia di rifattorizzare codice!

stefano

2012/2/11 Alex Gotev <alex...@gmail.com>

Alex Gotev

unread,
Feb 12, 2012, 3:57:07 PM2/12/12
to novar...@googlegroups.com
direi che l'obiettivo non è quello di fare "un bel refactoring finale" ma continuare a farlo..ogni riga di codice che aggiungi ti deve invogliare a rifattorizzare tutto quello che hai già fatto... senza aspettare di finire!
Per "refactoring finale" intendevo semplicemente il refactoring da fare prima della fine dell'ultimo pomodoro della serata, per il resto sono d'accordo con te.
Devo fare ancora qualche modifica che mi è venuta in mente e poi mando anche la mia soluzione.

Alex
Reply all
Reply to author
Forward
0 new messages