Acc, oggi libero fa i capricci...
Ok, allego la soluzione mia e di Alberto ma è veramente tremenda(gameOfLife.zip)
n.b. non ho fatto nessuna modifica rispetto a quella di giovedì sera, e si vede :)
ne ho fatta poi una seconda cercando di farmi guidare più dai test (newGameOfLife.zip)
non sono completamente soddisfatto, ci sono un sacco di refactoring che vorrei apportare ma in questa maniera sono riuscito a fare "emergere" classi che con la prima implementazione non avevo visto...
Il prossimo incontro è fissato per Giovedì questo (16/2/2011) l'idea era di fare un altro kata, Alberto se non ricordo male ha proposto il Minesweeper http://codingdojo.org/cgi-bin/wiki.pl?KataMinesweeper
che credo possa andare bene, mi sembra abbastanza semplice e potrebbe permetterci di concentrarci maggiormente sui passi del tdd piuttosto che al raggiungimento a tutti i costi della soluzione.
E poi magari all'incontro successivo potremmo dedicare una serata al Refactoring, che ne dite !?
P.S.
mi è piaciuta _molto_ l'idea delle faccine con una frase sintetica a fianco!!!
le mie sono questa:
:) = problema risolto - questo da molta carica
:| = ho sofferto la pressione del tempo (3 pomodori) per scarsa conoscenza linguaggio e problema...
:( = ci siamo fatti guidare troppo poco dai test
----Messaggio originale----
Da: alex...@gmail.com
Data: 11/02/2012 17.05
A: <novar...@googlegroups.com>
Ogg: Re: [novara-xpug:680] feedback
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
--
_____________________
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
In effetti con Cella le regole sono più leggibili.
Una cosa che cosi a "sentimento" non mi piace proprio è
l'inizializzazione nel costruttore...
g.