Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
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


Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'ESA sta cercando alternative all'utili...
iliad TOP 250 PLUS e TOP 300 PLUS: valan...
FRITZ! a Sicurezza 2025: connessioni WiF...
I 18enni di oggi non fanno più la...
Super offerte Apple: iPhone 16e a 529€ e...
Torres EVT arriva in Italia con listino ...
Microsoft Flight Simulator 2024 provato ...
Offerte Amazon ancora attive: Kindle, Fi...
Caldaie a gas, colpo di scena: l'UE valu...
Altro che 'scandalo De Martino', in Core...
Meta leggerà i tuoi messaggi dal ...
OpenAI entra in Thrive Holdings: nasce u...
Paramount: nuovi film di Sonic e Tartaru...
EU AI Cloud, il cloud sovrano di SAP per...
God of War: la serie TV entra in pre-pro...
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: 17:13.


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