Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla
OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla
OPPO Watch X2 Mini è uno smartwatch compatto capace di offrire un'esperienza completa di monitoraggio della salute e fitness con una cassa da 43 mm che può adattarsi a qualsiasi tipo di polso, dal più grande al - soprattutto - più piccolo. Con l'architettura dual-chip e un'autonomia che può coprire due giorni con tranquillità, rappresenta la soluzione ideale per chi cerca prestazioni premium in un formato ridotto.
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione
Dopo il recente lancio della serie Xiaomi 15T di Monaco, vi parliamo oggi della versione più performante della nuova famiglia, ovvero Xiaomi 15 T Pro. Vi raccontiamo la nostra prova nel dettaglio, spiegando perché a questo prezzo e in questa fascia, questo smartphone ha davvero senso tenerlo in seria considerazione.
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento
Acer ha ampliato la sua offerta professionale con il TravelMate P6 14 AI, un notebook ultraleggero e robusto pensato per chi lavora in mobilità. Certificato Copilot+ PC, combina design premium, autonomia elevata e piattaforma Intel Core Ultra Serie 2 con funzionalità AI, garantendo sicurezza, affidabilità e produttività per l'utenza business moderna.
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 11-10-2005, 14:23   #41
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
PlayArea.java R.I.P.
Una vita breve ma intensa.

A presto i test della Storia 2, quando Vicius e' contento del refactoring e della copertura dei test. C'e' da testare la classe Bounds (ex Extents).
fek è offline  
Old 11-10-2005, 14:29   #42
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ehm, scusate ma io stavo facendo il task 5.9 assegnatomi...
almeno avvisare per evitare di farmi lavorare inutilmente...
ora che devo fare?
71104 è offline  
Old 11-10-2005, 14:57   #43
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 71104
ehm, scusate ma io stavo facendo il task 5.9 assegnatomi...
almeno avvisare per evitare di farmi lavorare inutilmente...
ora che devo fare?
Non hai lavorato inutilmente, hai fatto uno spike. Ma nella code base non ci dev'essere codice non testato per alcun motivo.

Aspettiamo i test e poi possiamo passare all'implementazione.
Nel frattempo e' un'ottima occasione per cercare opportunita' di refactoring nel codice e per aggiungere qualche test in zone deboli.
fek è offline  
Old 11-10-2005, 17:15   #44
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da fek
Se la colpa e' di qualcuno, e' mia. Non voglio piu' vedere post di questo tipo.
Ti kiami Chet di secondo nome???



cmq io avrei voluto scrivere qualke test..
nei miei task ho solo dovuto modificare del codice già esistente ed ELIMINARE dei test ke testavano assunzioni non più vere.....
__________________
^TiGeRShArK^ è offline  
Old 11-10-2005, 17:29   #45
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Dunque sto navigando il codice con clover e ho trovato un bel po di metodi non testati. Questa sera dovrei riuscire a scrivere quelli che mancano.

Come ultima cosa avrei una proposta da fare. Perchè non eliminare tutte queste eccezioni ? Possibile che ogni votla che si accede ad una proprieta, si carica un suono o una texture ci sia da fare una try/catch ? Tutto quello che facciamo ora è intercettare l'eccezione e terminare il programma. A questo punto ci conviene terminare il programma invece di generare l'eccezione.

In locale le ho rimosse tutte e il codice ne guadagna in quanto a leggibilità. e di molto.

ciao
VICIUS è offline  
Old 11-10-2005, 17:36   #46
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
veramente io le eccezioni le trovo comodissime perché imho non ti devi neanche preoccupare di catturarle: se qualcosa va storto e non la catturi il programma si ferma e puoi vedere di preciso dov'è stata lanciata l'eccezione
molto più comodo che tutti quei valori di ritorno, anche perché Eclipse ti mette automaticamente il throws nei metodi
71104 è offline  
Old 11-10-2005, 17:53   #47
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da 71104
veramente io le eccezioni le trovo comodissime perché imho non ti devi neanche preoccupare di catturarle: se qualcosa va storto e non la catturi il programma si ferma e puoi vedere di preciso dov'è stata lanciata l'eccezione
molto più comodo che tutti quei valori di ritorno, anche perché Eclipse ti mette automaticamente il throws nei metodi
Certo sono utili ma usarle per tutto mi sembra stupido. Se c'è una eccezione va gestita in modo sensato non con un catch vuoto o un throws come stiamo facendo noi ora.
Se guardi per ora dentro ai catch ci sono solo queste cose:
Codice:
Utils.fatalError(..);
assertTrue(false);
fail(...);
A questo punto Eliminiamo le eccezioni e spostiamo il fatalError dentro alle classi che generano le eccezioni.

ciao
VICIUS è offline  
Old 11-10-2005, 17:58   #48
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da VICIUS
In locale le ho rimosse tutte e il codice ne guadagna in quanto a leggibilità. e di molto.

ciao
Io direi di lasciare le sole eccezioni che segnalano un comportamento "eccezionale" (file non trovato, ad esempio) e non un semplice errore di programmazione.

E far fuori tutto il resto.
fek è offline  
Old 11-10-2005, 18:04   #49
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
ma guarda che in java ci sono le eccezioni fatte proprio per segnalare gli errori di programmazione (eccezioni unchecked), ereditano da RuntimeException e non devono essere catturate per forza (tipo IllegalArgumentException è un'eccezione unchecked), quindi quando c'è da segnalare valori anomali di paramentri (quindi dovuti ad errori di programmazione) sono utlissime e non aggiungono nessun fastidio eccessivo, al contrario, quando manca la texture da caricare, per esempio, mi sembrano abbastanza utili ed eleganti...
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline  
Old 11-10-2005, 18:09   #50
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da fek
Io direi di lasciare le sole eccezioni che segnalano un comportamento "eccezionale" (file non trovato, ad esempio) e non un semplice errore di programmazione.

E far fuori tutto il resto.
uhm non sono d'accordo. preferisco usare fatalError per stampare un messaggio significativo come "errore: non riesco a caricare la texture `data/diamond.png' quindi esco" che lanciare una eccezione per poi ritrovarmi un inutile e.printStackTrace(); system.exit(-1); o peggio ancora un throws che lascia arrivare il tutto alla jvm.

ciao
VICIUS è offline  
Old 11-10-2005, 18:13   #51
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da cisc
ma guarda che in java ci sono le eccezioni fatte proprio per segnalare gli errori di programmazione (eccezioni unchecked), ereditano da Ru[...]
Uhm interessante questa storia delle unchecke exception. Spiega un po'

ciao
VICIUS è offline  
Old 11-10-2005, 18:29   #52
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
per quanto riguarda il discorso di eliminare le eccezioni e mettere delle semplici chiamate a Util.fatalError non sono d'accordo, già il fatto che nel corpo del programma catturi l'eccezione e lanci fatalError mentre nei test lanci fail per esempio è un motivo per mantenere le cose come stanno, inoltre lasciano la libertà di gestire diversamente gli errori in diversi posti del programma...

per le eccezioni unchecked, questo è un pezzo di codice preso dal costruttore di Bounds:

Codice:
        if(!rectIsInsideTheScreen(left, top, width, height, config))

        {

            throw new IllegalArgumentException();

        }
l'eccezione lanciata è un'eccezione unchecked, infatti non c'è nessun throws nell'intestazione del metodo, e quando costruisci Bounds non devi necessariamente usare un try..catch, anche se volendo si può anche aggiungere, in genere questo tipo di eccezioni vengono usate per segnalare errori di programmazione, ovvero casi che normalmente non dovrebbero verificarsi ma che è bene segnalare correttamente nel caso si verifichino anche per non avere sorprese in seguito...
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline  
Old 11-10-2005, 18:37   #53
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cisc
per quanto riguarda il discorso di eliminare le eccezioni e mettere delle semplici chiamate a Util.fatalError non sono d'accordo, già il fatto che nel corpo del programma catturi l'eccezione e lanci fatalError mentre nei test lanci fail per esempio è un motivo per mantenere le cose come stanno, inoltre lasciano la libertà di gestire diversamente gli errori in diversi posti del programma...
Questo discorso mi sta bene.

L'importante e' che qualunque cosa si decida, in caso di errore il gioco si inchiodi e l'origine del problema sia chiara e ben documentata.

Per i dettagli implementativi del linguaggio, decidete pure voi, la cosa piu' semplice e elegante va bene.
fek è offline  
Old 11-10-2005, 18:43   #54
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da cisc
[...]ammazione, ovvero casi che normalmente non dovrebbero verificarsi ma che è bene segnalare correttamente nel caso si verifichino anche per non avere sorprese in seguito...
Perfetto! È proprio quello che mi serviva.

ciao
VICIUS è offline  
Old 11-10-2005, 19:26   #55
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
adesso all'improvviso ti piacciono di nuovo
71104 è offline  
Old 11-10-2005, 20:54   #56
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da 71104
adesso all'improvviso ti piacciono di nuovo
Se devo fare try/catch ovunque preferisco non usarle. Ora pero che le ho convertitein delle RuntimeException posso usarle come voglio io quindi mi piaciono

Giusto per passare il tempo con un po di statistiche. Per ora abbiamo un code coverage pari al 92,1% con i test. Se riesco a capire come esportare tutto su un report ve lo pubblico da qualche parte

ciao
VICIUS è offline  
Old 12-10-2005, 10:37   #57
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
scusami, ma convertire tutte le eccezioni in runtime exception non mi sembra una soluzione elegante, è come dire che se non c'è la texture da visualizzare te ne freghi!! a parte il fatto che il try...catch non mi sembra introdurre tutta quella difficoltà di lettura del codice di cui parli, a me sembra ovvio che in certi casi (tipo mancanza della texture) devi catturare l'errore e gestirlo, tu dicevi di aggiungere direttamente nel codice dove viene lanciata l'eccezione un Util.fatalError, perchè il gioco deve terminare quando manca la texture, ma ciò IMHO toglie flessibilità nella gestione degli errori, perchè non utilizzare al meglio gli strumenti offerti dal linguaggio?
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline  
Old 12-10-2005, 10:41   #58
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
C'è un errore nel file del progetto:
Unbound classpath variable: 'CLOVER_RUNTIME' in project Diamonds
cionci è offline  
Old 12-10-2005, 12:11   #59
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da cisc
scusami, ma convertire tutte le eccezioni in runtime exception non mi sembra una soluzione elegante, è come dire che se non c'è la texture da visualizzare te ne freghi!! a parte il fatto che il try...catch non mi sembra introdurre tutta quella difficoltà di lettura del codice di cui parli, a me sembra ovvio che in certi casi (tipo mancanza della texture) devi catturare l'errore e gestirlo, tu dicevi di aggiungere direttamente nel codice dove viene lanciata l'eccezione un Util.fatalError, perchè il gioco deve terminare quando manca la texture, ma ciò IMHO toglie flessibilità nella gestione degli errori, perchè non utilizzare al meglio gli strumenti offerti dal linguaggio?
Non sono d'accordo. Per ora questa mi sembra la piu flessibile. Ci permette di scrivere codice senza dover scrivere le try/catch quando non ci servono (il 99% delle volte). Ad esempio è possibile accedere a config senza fare assurdi controlli oppure caricare una texture senza gestire ogni volta TextureNotFoundException. Se vogliamo gestirle in un punto particolare possiamo ancora farlo inserendo appunto try/catch. Se non vengono gestite arivano alla jvm che termina il programma stampando il messaggio.

ciao
VICIUS è offline  
Old 12-10-2005, 12:14   #60
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da cionci
C'è un errore nel file del progetto:
Unbound classpath variable: 'CLOVER_RUNTIME' in project Diamonds
Colpa mia. Clover si deve essere infiltrato durante un commit

ciao
VICIUS è offline  
 Discussione Chiusa


OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla OPPO Watch X2 Mini, lo smartwatch compatto a cui...
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione Xiaomi 15T Pro, è lui il nuovo best buy? ...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Tesla, le novità sono due: ecco M...
5 kg di oro puro, ecco da dove nasce la ...
Lego Game Boy completamente funzionante,...
Il Premio Nobel per la Fisica 2025 a Cla...
Amkor investirà fino a 7 miliardi...
ARC Raiders gratis? Solo per chi compra ...
Premi fino a 30 mila dollari per chi tro...
Bollette a sorpresa: il prezzo dell'ener...
Apple aggiorna due app con il nuovo desi...
Arriva Qualys Enterprise TruRisk Managem...
Super offerta Amazon: ASUS Vivobook Go 1...
Nuovo MacBook Air M4 a soli 949€ su Amaz...
Roborock R25 Ultra: l'aspirapolvere che ...
Qualcomm compra Arduino e subito si vedo...
HUAWEI WATCH GT 6, prezzo fuori dal comu...
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: 01:04.


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