View Full Version : [Java] Dimensioni classi -Stile e prestazioni-
carosene
06-09-2008, 15:34
Sto sviluppando un'applicazione desktop con Netbeans. Una specie di editor di testo con una toolbox. Il lavoro sta più o meno andando avanti senza intoppi, ma un dubbio mi sta lentamente dominando: Sebbene il progetto sia composto da numerose classi, quella della vista principale sta diventando enorme...
Ora io non sono un professionista, ma mi piacerebbe acquisire uno stile professionale e per questo mi chiedo:
- Le grandi dimensioni di una classe sono da considerarsi un errore?
- Le grandi dimensioni di una classe possono penalizzare le prestazioni?
- È sbagliato pensare che le dimensioni di una classe sia il prezzo da pagare, per utilizzare tutti questi wizard dell'ide?
Sto sviluppando un'applicazione desktop con Netbeans. Una specie di editor di testo con una toolbox. Il lavoro sta più o meno andando avanti senza intoppi, ma un dubbio mi sta lentamente dominando: Sebbene il progetto sia composto da numerose classi, quella della vista principale sta diventando enorme...
Ora io non sono un professionista, ma mi piacerebbe acquisire uno stile professionale e per questo mi chiedo:
- Le grandi dimensioni di una classe sono da considerarsi un errore?
- Le grandi dimensioni di una classe possono penalizzare le prestazioni?
- È sbagliato pensare che le dimensioni di una classe sia il prezzo da pagare, per utilizzare tutti questi wizard dell'ide?
- Normalmente no a meno che tu non stai lavorando su piattaforme mobile in cui ci sono delle limitazioni hardware alla grandezza delle applicazioni (e in ogni caso non si fà mai riferimento alla dimensione della singola classe).
- No, gli attributi di classe vengono caricati nello stack solo se e quando effettivamente utilizzati e vengono deallocati da GC appena cessano di essere referenziati. Le prestazioni dipendono da come scrivi il codice, non dalle sue dimensioni e in ogni caso le performance dipendono spesso e volentieri dalla dimensione dello heap e non dallo stack.
- Non ho capito cosa vuoi dire.
carosene
06-09-2008, 16:17
Grazie della risposta.
Non ho capito cosa vuoi dire.
Più in generale: Vorrei sapere se in ambiti professionali è normale creare classi da 5-6 mila righe di codice?
Nella vista principale che sto realizzando tra gestione degli eventi, layout, componenti, privilegi, icone e I18N. Ci metto davvero poco a raggiugere le seimila righe...
Sto sviluppando un'applicazione desktop con Netbeans. Una specie di editor di testo con una toolbox. Il lavoro sta più o meno andando avanti senza intoppi, ma un dubbio mi sta lentamente dominando: Sebbene il progetto sia composto da numerose classi, quella della vista principale sta diventando enorme...
Ora io non sono un professionista, ma mi piacerebbe acquisire uno stile professionale e per questo mi chiedo:
- Le grandi dimensioni di una classe sono da considerarsi un errore?
- Le grandi dimensioni di una classe possono penalizzare le prestazioni?
- È sbagliato pensare che le dimensioni di una classe sia il prezzo da pagare, per utilizzare tutti questi wizard dell'ide?
- classi troppo grosse sono difficili da manutenere
- no
- sì :p il wizard ti aiuta a scrivere il codice, ma sei te che decidi cosa mettere e dove metterlo in ultima battuta.
probabilmente il fatto che la vista principale è enorme è dettato dal fatto che non separi il codice che gestisce la logica applicativa dal codice che disegna l'interfaccia grafica (o sì?).
carosene
06-09-2008, 16:37
- classi troppo grosse sono difficili da manutenere
- no
- sì :p il wizard ti aiuta a scrivere il codice, ma sei te che decidi cosa mettere e dove metterlo in ultima battuta.
probabilmente il fatto che la vista principale è enorme è dettato dal fatto che non separi il codice che gestisce la logica applicativa dal codice che disegna l'interfaccia grafica (o sì?).
Sto separando la logica applicativa dall'interfaccia grafica, lasciando però le meccaniche della gui dentro se stessa. Per esempio: Se nella JTable sono selezionati un certo numero di righe si abilita una determinata action.
Sto separando la logica applicativa dall'interfaccia grafica, lasciando però le meccaniche della gui dentro se stessa. Per esempio: Se nella JTable sono selezionati un certo numero di righe si abilita una determinata action.
capito.. quindi la classe è gigantesca perchè contiene tantissimi controlli.
in generale se sviluppi la GUI esclusivamente tramite un editor grafico non dovresti avere nessun problema. il discorso è diverso se spesso ci devi mettere le mani nel sorgente.
puoi scomporre la classe in più parti, ad esempio nel caso in cui ci sono più componenti che compongono la vista potresti fare una classe per componente
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.