|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
SpriteAnimation
Edit: ma porca miseria volevo scrivere AnimatedSprite :\
Ho dato insieme a Fran una lunga serie di botte alle animazioni fino ad ottenere una classe piuttosto stand-alone per la gestione delle animazioni. I test, al momento, sono quasi tutti copiati (e rivisti) da TestGemAnimation. TODO:
Un sacco di inesattezze erano presenti nel codice che gestiva le animazioni in Droppable. Prima di tutto era possibile creare animazioni contenenti 0 frame. Ho aggiunto un test per impedire le animazioni lunghe 0 frame. Ora sto seriamente pensando di impedire pure la creazione di animazioni lunghe 1 frame (non ha senso). Cosa ne pensate? Domanda aggiuntiva: possiamo fulminare il codice per gestire le bright sprite? A mio parere questa feature inutilizzata sporca il codice e basta... |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
|
Cancella, cancella
![]() Comunque di schifezze ce ne sono un bel po' in giro. Pensa che puoi disegnare la grid con la texture del background che i test non si arrabbiano ![]() Ovviamente ci sto lavorando per recuperare ![]() |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
quoto: c'ero passato pure io qualche giorno fa, refattorizzando a destra e a manca, e vedere tutto quel codice inutile mi dava fastidio. chiederei a fek un commit di tregua dai REFACTOR THIS solo per eliminare il codice del "brighter".
|
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
non credo valga la pena di inserire nel codice tutti i test possibili ed immaginabili: sarebbero miliardi ^^, anche perché una stessa feature può essere testata a livelli diversi. più test mettiamo più ne dobbiamo mantenere (e questi bastardi in manutenzione si fanno decisamente sentire -.-), quindi io mi atterrei esclusivamente a test "stretti" che su ciascun metodo pubblico di una classe testino l'intero dominio (o la parte più larga possibile) verificandone il "codominio".
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
|
Quote:
E' vero che una cosa può essere testata a tanti livelli, ma è sbagliato. Sai quanti test "ugali" abbiamo in 10.000 testcase diversi?? Sai quante features sono testate un po qua e un po' la?? I test adesso sono un casino perchè li abbiamo sempre messi in secondo piano rispetto al codice del gioco. Stupitevi, ma è l'esatto contrario. La cosa più importante è il codice dei test. Con una test-base "perfetta", anche mille scimme che picchiano a caso i tasti alla fine riuscirebbero a fare il gioco. In ogni caso tutti qui test, se le cose fossero state sviluppate completamente e veramente in TDD, sarebbero tutti li. ![]() ![]() Ieri ho rimesso a posto la classe Rectangle e il test sull'equals era sbagliato!! Potevo benissimo togliere un paio di condizioni e il test passava lo stesso. I test sono la nostra rete di salvataggio, definiscono come si comporta il sistema in ogni singolo aspetto... non esisterebbero bug se i test fossero fatti bene, o meglio, esisterebbero solo condizioni a cui gli sviluppatori e il costumer stesso non avevano pensato. Scusate lo sfogo... ma in giro per i test vedo delle cose che ![]() ![]() Ultima modifica di Bonfo : 04-02-2008 alle 01:55. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Purtroppo ha ragione Bonfo: abbiamo sbagliato noi. I test andavano mantenuti costantemente mentre noi siamo andati avanti a cicli pieni di nuove feature scrivendo test hackerini giusto per poter dire "l'ho fatto in TDD io!".
I test piu` disastrati sono gli integration test. Tipo quelli che testano che la griglia abbia effettivamente fatto update delle animazioni (per dirne una) oppure che la griglia dopo una update abbia effettivamente fatto merge di due BigGem etc etc... In questo caso non sono ancora sicuro su come procedere ma forse con un paio di classi mock in piu` si sarebbero risolti parecchi problemi.. Inoltre le classi mock che abbiamo (tipo Engine) potrebbero essere migliorate |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
![]() Fede, a me un'animazione con un solo frame non crea problemi.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Abbiamo bisogno di piu' test a livello piu' basso, che testano un solo piccolo comportamento in maniera chiara e inequivocabile di modo che un cambiamento nel codice che lo riguarda lo faccia fallire e il test indichi in maniera chiara il perche' del suo fallimento. Al momento questo e' il nostro grosso limite che rende il lavoro di refactoring Diamonds poco piacevole, molto stressante e molto complesso.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Quote:
Non e` manco testabile poiche` il frame non cambia mai chiaramente. Posso fare il colpo dell'esplosione del drago nero contro le bright sprite? |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Se un'animazione con un solo frame nel gioco non e' mai usata, allora fai pure il colpo dell'esplosione del drago nero delle quattro vie di pechino anche su questo. E sui bright sprite.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Si` maestro. UATTAA
|
![]() |
![]() |
![]() |
#12 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
Le bright gem salutiamole con la manina, ci hanno accompagnati a lungo ma è il momento di separarci per sempre da loro.
Idem le animazioni da un frame ![]()
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Stasera hokutizzo le bright allora
![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
|
La stella della morte splende già su di loro
![]()
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam. |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Fede, per favore lavora anche su un REFACTOR THIS e indicalo nel commit description oppure fai il revert. La regola vale per tutti.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Fatto
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:52.