|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
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"
__________________
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. |
|
|
|
|
|
#2 |
|
Senior Member
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) |
|
|
|
|
|
#3 |
|
Senior Member
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
|
|
|
|
|
|
#4 |
|
Senior Member
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. |
|
|
|
|
|
#5 |
|
Senior Member
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 |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
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. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:13.






















