Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-02-2008, 00:53   #1
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
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 paio di test vanno spostati da TestGemAnimation a TestAnimation.
  • Capire/definire cosa fa un'oggetto AnimatedSprite.
  • Completare/ripulire i test, soprattutto quelli che testano il rendering e la gestione delle sprite "bright"

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...
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 01:06   #2
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
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
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 01:50   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Ufo13 Guarda i messaggi
Domanda aggiuntiva: possiamo fulminare il codice per gestire le bright sprite? A mio parere questa feature inutilizzata sporca il codice e basta...
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".
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 01:54   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Bonfo Guarda i messaggi
Pensa che puoi disegnare la grid con la texture del background che i test non si arrabbiano


Ovviamente ci sto lavorando per recuperare
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".
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 02:50   #5
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da 71104 Guarda i messaggi
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".
Non sono d'accordo. I test non sono manutenibili in questo momento perchè abbiamo sbagliati a farli. Non per nulla abbiamo test da 30 righe. Un test, se scritto bene, rimane li in eterno INVARIATO, perchè lui continua a testare sempre e solo quel singolo comportamento.

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
__________________
Software engineer
Bonfo's Blog

Ultima modifica di Bonfo : 04-02-2008 alle 02:55.
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 09:15   #6
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
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
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 09:41   #7
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 71104 Guarda i messaggi
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".
No, un Refactor This per ogni commit. Se iniziamo a chiedere deroga senza aver neppure iniziato non ha molto senso. Ovviamente la soluzione non e' non fare il commit

Fede, a me un'animazione con un solo frame non crea problemi.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 09:45   #8
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 71104 Guarda i messaggi
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".
Questo e' uno dei problemi della nostra batteria di test, problema che ho incontrato ieri: i test sono troppo pochi e a livello troppo alto. Facendo un piccolo cambiamento in BigGem mi sono ritrovato 10 test da 30 righe l'uno che fallivano. Ovviamente non avevo la piu' pallida idea del perche' fallissero, perche' erano a livello troppo alto.
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.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 09:47   #9
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Quote:
Originariamente inviato da fek Guarda i messaggi
No, un Refactor This per ogni commit. Se iniziamo a chiedere deroga senza aver neppure iniziato non ha molto senso. Ovviamente la soluzione non e' non fare il commit

Fede, a me un'animazione con un solo frame non crea problemi.
Ma che senso ha? Semplificherebbe un po' di test...

Non e` manco testabile poiche` il frame non cambia mai chiaramente.

Posso fare il colpo dell'esplosione del drago nero contro le bright sprite?
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 09:50   #10
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da Ufo13 Guarda i messaggi
Ma che senso ha? Semplificherebbe un po' di test...

Non e` manco testabile poiche` il frame non cambia mai chiaramente.

Posso fare il colpo dell'esplosione del drago nero contro le bright sprite?
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.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 09:53   #11
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Si` maestro. UATTAA
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 11:50   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da fek Guarda i messaggi
Questo e' uno dei problemi della nostra batteria di test, problema che ho incontrato ieri: i test sono troppo pochi e a livello troppo alto. Facendo un piccolo cambiamento in BigGem mi sono ritrovato 10 test da 30 righe l'uno che fallivano. Ovviamente non avevo la piu' pallida idea del perche' fallissero, perche' erano a livello troppo alto.
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.
post da incorniciare
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 16:57   #13
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
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.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 17:14   #14
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Stasera hokutizzo le bright allora
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 19:51   #15
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da Ufo13 Guarda i messaggi
Stasera hokutizzo le bright allora
La stella della morte splende già su di loro
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 19:58   #16
fek
Senior Member
 
L'Avatar di fek
 
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.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 23:01   #17
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Fatto
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
36 idee regalo con offerte Amazon sotto ...
Sony assume il controllo dei Peanuts: Sn...
DJI Neo scende a 149€ su Amazon, in vers...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
19.000 Pa a un prezzo senza precedenti: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v