|
|
|
![]() |
|
Strumenti |
![]() |
#61 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
cisc: guarda nel thread [Diamonds] Si parte!...
|
![]() |
![]() |
#62 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Benissimo. Aspetto la mail dalla build machine e faccio il sign off.
A questo punto, quando arriva Vicius, possiamo discutere anche una nuova storia da aggiungere a questo ciclo, visto che abbiamo ancora 8gg a disposizione.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
#63 |
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
ragazzi, una domanda, ma devo aggiungere il sound a Game.java?
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
![]() |
![]() |
#64 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
#65 |
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
fatto, lanciando Game viene riprodotto diamond.wav all'inizio, adesso il tutto è abbastanza minimale, posso aggiungere altre features (tipo loop, stop, rewind) o vado contro il principio di fare solo quello che serve?
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
![]() |
![]() |
#66 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
![]() Ho provato sulla mia macchina e funziona. Ho fatto un po' di refactoring delle classi Texture, Game e Audio. Se avete voglia fate un diff di questi file usando SVN e guardate come sfruttando i test, ho semplificato un po' il codice, partendo da codice funzionante e testato. E' un tipico Refactoring, e potrebbe essere interessante dargli un'occhiata.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
#67 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Punto della situazione:
- Il codice per tutti i task con relativi test sono nel repository. - JUnit ci da luce verde per procedere. Tutto questo in meta del tempo previsto. Ottimo lavoro ![]() Ora non ci resta che aspettare il commit del refactoring di cdimauro e poi possiamo procedere con un'altra storiella. Mentre aspettiamo prendete confidenza con eclipse e ant che non fa mai male. ciao ![]() |
![]() |
![]() |
#68 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il compilatore mi ritorna questo warning:
Unreachable catch block for TextureNotFoundException. This exception is never thrown from the try statement body Da quello che ho capito il compilatore analizza le chiamate fatte nel try e non trova nessun punto nel codice che potrebbe lanciare l'eccezione TextureNotFoundException... In pratica si ottiene questo warning ogni volta che si crea una nuova texture nel try... Comunque è vero che all'interno del costruttore non viene mai lanciata una eccezione di quel tipo, ma è anche vero che un'eccezione di quel tipo può essere lanciata da una funzione richiamata dal costruttore...quindi non vedo il perchè di questo assurdo warning... La compilazione ed i test comunque terminano correttamente...ma ogni volta ricorda che sono questi warning... |
![]() |
![]() |
#69 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ora è sparito, forse perchè sono andato a vedere il codice della classe Texture e ho trovato dove viene lacniata la possibile eccezione... A questo punto penso che sia un parser interno ad Eclipse ad avere generato il warning e non il compilatore
![]() |
![]() |
![]() |
#70 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Mancano i task di TigerShark e cidimauro all'appello.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
#71 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Fatto.
![]() C'è anche un po' di refactoring del codice... ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
#72 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Sempre che il responso della build machine sia positivo. Attendiamo.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
#73 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
toccando palle.....stasera dovrei committare, scusate il ritardo
![]()
__________________
![]() |
![]() |
![]() |
#74 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Tutti i task sono completati.
Ho fatto un pesante refactoring della classe Game.java, puo' essere interssante dare un'occhiata alla differenza fra le due ultime versioni: ci sono un po' di "Extract Method" uno dopo l'altro, ed un refactoring verso "Template Method". Ho aggiunto la classe Engine.java di cidimauro ed ho fatto un po' di refactoring per supportare la testabilita' della classe stessa. La soluzione e' tutto fuorche' elegante, c'e' un code smell grosso come una casa e il codice urla per farsi applicare un bel refactoring. Compito a casa per voi ![]() Non preoccupatevi se non vi viene in mente nulla, questo refactoring non e' per nulla banale.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
#75 |
Senior Member
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
|
Mamma mia quanto è brutta quella varianile "testing". Tra l'altro testa una cosa sbagliatissima: è un test di nessuna utilità perché teoricamente va a vedere solo se la risoluzione selezionata è supportata dal sistema. Peccato che il sistema sia il server della cui compatibilità ce ne possiamo tranquillamente fregare (non so che scheda monti, ma è del tutto irrilevante). La sua unica utilità attuale è di verificare se il metodo di ricerca delle DisplayMode disponibili è corretto.
Io separerei il concetto di Engine dal concetto di Window. In questo modo si può testare la creazione dell'Engine, senza quella della finestra che è intestabile. |
![]() |
![]() |
#76 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Concordo sulla separazione...
|
![]() |
![]() |
#77 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Comunque si', questi problemi e anche i problemi che ha avuto cidimauro sono dovuti alla classe Engine che tenta di fare due cose (OpenGL e Window), e quando si tenta di fare due cose, c'e' sempre qualcosa che non va. Vanno separate, e va creata una classe minimale attorno a OpenGL che racchiuda solo quello che non puo' essere testato, poi serve un suo mock che non inizializza OpenGL, ma che si comporta logicamente allo stesso modo con gli stessi servizi, di modo da essere usata per i test. Benvenuti nel mondo delle Mock class per i test ![]() Chi se ne occupa? Lo facciamo assieme perche' non e' banale, perche' i test devono restare invariati, deve solo cambiare il codice che li implementa. Edit: E' interessante notare il processo che abbiamo seguito in questo caso: - Siamo partiti da codice gia' scritto che inizializza OpenGL - Lo abbiamo separato in una classe perche' volevamo testarlo - Abbiamo trovato dei problemi di testing e cercato una soluzione - Abbiamo implementato la prima soluzione che ci veniva in mente commettendo anche peccati mortali se necessario (make it work) - Avere la soluzione brutta scritta davanti ci ha suggerito una soluzione piu' elegante (make it nice), separando le due classi - Implementeremo la soluzione piu' elegante, sapendo che i test ci diranno quando sbaglieremo qualcosa Ma non e' bello fare Refactoring? Ti mette in pace col mondo ![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA Ultima modifica di fek : 23-09-2005 alle 09:19. |
|
![]() |
![]() |
#78 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
A me interesserebbe (anche perché è il task che mi ha coinvolto in prima persona), ma per lo più lavoro a Diamonds di giorno e difficilmente nel weekend: il mio status è compatibile con questi obiettivi?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
#79 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
#80 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Possiamo chiudere questo topic e questa storia?
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:02.