Torna indietro   Hardware Upgrade Forum > Software > Programmazione

BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max mette un pannello IPS da 13 pollici con risoluzione 2,5K e refresh a 120 Hz davanti a una batteria da 10.100 mAh e a quattro altoparlanti. Il listino parte da 399,90 euro, per un progetto molto chiaro e ambizioso: schermo ampio, buon audio e giornate lontano dalla presa, a un prezzo che non pesa sul portafoglio
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-12-2008, 01:21   #1
D3stroyer
Senior Member
 
L'Avatar di D3stroyer
 
Iscritto dal: Dec 2003
Messaggi: 3567
[Java] Quando un .java è troppo grande?

Ciao a tutti, sto sviluppando un'applicazioncina per un progetto di java. In realtà riguarda google webtoolkit..ma alla fine devo scrivere in java (con le funzioni di gwt) e lui converte poi in javascript. Non ho un vero "problema", ma una domanda: sto usando il pattern Model-View-Controller e mi trovo con 8 .java ma come sempre quelli riguardanti la "View" hanno dentro veramente molte linee di codice rispetto alle altre parti. C'è un "tanto", superato il quale bisognerebbe creare una nuova classe? Una delle interfacce implementate contiene in singolo file 1100 linee (ha dentro praticamente tutta l'interfaccia e la gestione della GUI), gli altri si e no 200. È un errore grave appesantire molto alcune parti non spezzandole?

grazie

ps. facile notare quanto sia "alle prime armi"..per me 1000 righe sono una cifra considerevole, magari ora mi dite che "fino a 50'000 linee va tutto benissimo" . Il punto è: avere un'applicazione sviluppata su 10 files, ma 70% su di uno..non è sbagliato? (chiedo per "bagaglio personale", non avrei comunque la competenza per fare diversamente anche se si potesse).
__________________
Intel Core 2 Duo E6300 @ 3.00GHz / Gigabyte P965 DS4 / 2xTEAM GROUP TVDD1024M800 / Gainward GTX460 GS 1GB
Barracuda 7200.11 SataII 500Gb + Maxtor ATA320Gb + Hitachi SataII 320Gb / Enermax Noisetaker 495W
Il miglior topic di sempre

Ultima modifica di D3stroyer : 02-12-2008 alle 01:24.
D3stroyer è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2008, 09:29   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Dal basso della mia piccola esperienza: una classe da 1000 LOC è un buon target da fattorizzare.
C'è per carità da considerare che è una classe visuale, bisognerebbe capire un attimo quanto è complessa la GUI che rappresenta e quindi se può essere divisa in più classi che collaborano per la costruzione dell'interfaccia nel suo complesso (e se conviene farlo).

Però per me in linea di massima 1K LOC in una classe cominciano ad essere tante...
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2008, 10:12   #3
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
Dipende un po' anche da quali strumenti hai usato. Se hai usato un GUI designer allora anche volendo non la puoi spezzare
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2008, 11:31   #4
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Io purtroppo, usando un GUI designer ho superato anche le 4000 LOC ma mi rendo perfettamente conto che siano tantissime.
In realtà anche per un'altra classe in cui ci sono un sacco di funzioni ho superato quel numero, ma è inevitabile. Per quanto ho potuto ho smembrato diverse parti del codice in classi diverse, ma più di tanto non si può fare. Del resto, per fortuna, l'applicazione gira abbastanza veloce.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2008, 13:20   #5
D3stroyer
Senior Member
 
L'Avatar di D3stroyer
 
Iscritto dal: Dec 2003
Messaggi: 3567
si ho usato un gui designer ed è venuto un monte di linee per una gui molto semplice! Non so davvero come poterlo spezzare quindi ..lo terrò così :/
__________________
Intel Core 2 Duo E6300 @ 3.00GHz / Gigabyte P965 DS4 / 2xTEAM GROUP TVDD1024M800 / Gainward GTX460 GS 1GB
Barracuda 7200.11 SataII 500Gb + Maxtor ATA320Gb + Hitachi SataII 320Gb / Enermax Noisetaker 495W
Il miglior topic di sempre
D3stroyer è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2008, 14:08   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da cionci Guarda i messaggi
Dipende un po' anche da quali strumenti hai usato. Se hai usato un GUI designer allora anche volendo non la puoi spezzare
Sì, infatti, avevo scordato la doverosa precisazione.
Aggiungo solo una considerazione: io abitualmente lavoro su NetBeans e per le interfaccie grafiche mi appoggio ben volentieri al GUI editor integrato, l'uso del quale in effetti porta a classi con numerose linee di codice.
Però io ormai mi sono abituato a usare una "strategia" di suddivisione: se ho un singolo Frame che deve suddividere la sua area interna in molte "aree logiche" non costruisco tutto nella stessa classe. Faccio una classe per "area logica". Ad esempio un JFrame suddiviso in 4 JPanel: una classe per JPanel. Quei singoli JPanel li costruisco con il GUI builder, ognuno come singolo file.
Il JFrame è a sua volta costruito con il GUI builder, ma al suo interno con un po' di lavoro manuale di editing vado a inserire i JPanel.
Se poi un singolo JPanel di quei 4 fosse troppo complesso (= classe troppo pesante) procederei come sopra per suddividerlo in 2 o più (a seconda del caso) sottocomponenti.

In pratica lavoro con il GUI builder e mi faccio delle integrazioni/personalizzazioni manuali. Di solito basta porre attenzione al fatto che ogni "classe visuale", ad un certo punto durante la sua costruzione chiama il metodo initComponent(). (Sto parlando nel constesto di NetBeans). Quel metodo inizializza tutti i componenti grafici inseriti via GUI Builder con i loro setting, che non possono essere editati direttamente perchè è "codice blindato". Ogni ulteriorie modifica, o anche rimozione di componenti inseriti/inserimento di altri componenti e setting vari va fatta a valla di quella chiamata. Basta questa semplice accortezza.
Io mi sono abituato a fare così e mi trovo bene.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 02-12-2008 alle 14:12.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
Una city e-bike imbattibile: costa 559€ ...
Nuovi articoli ogni ora: sconto EXTRA de...
5 tablet in super offerta, uno su Amazon...
3 Smart TV Haier da 65 pollici QLED a pa...
Programma NOM4D: Caltech e DARPA hanno r...
La missione ESA Hera inizia l'analisi de...
SpaceX e Singulus: stretto un accordo pe...
Binance avvisa: un bug di iOS mette a ri...
Apple corregge 9 vulnerabilità su iPhone...
Microsoft inaugura il Pavilion a Roma, c...
Black Friday, l'errore che può co...
Lotus avrà un V8 ibrido da 670 CV...
IBM: solo il 26% delle imprese dimostra ...
Hacker contro hacker e danni per 740.000...
Xiaomi SkyNomad, boom da 27.147 auto in ...
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: 07:58.


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