Maximale Größe einer Klasse

Status
Nicht offen für weitere Antworten.

Paladin

Bekanntes Mitglied
Hi Leute,

zur Zeit arbeite ich an einer Reporting Anwendung die für ein Unternehmen betriebswirtschaftliche Auswertungen erstellt. Alle Methoden zur Berechnung von verschiedenen Werten habe ich bis jetzt in einer einzigen Klasse gekapselt(Größe: ca. 20.000 Zeilen).
Nun zu meiner Frage:

Wie groß sollte so eine Klasse maximal werden? Ich könnte mir vorstellen, dass es zu Lasten der Performance geht wenn die Klassen zu groß werden. Oder ist das egal?

Vielen Dank im voraus.

Gruß

Paladin
 

Jockel

Top Contributor
Argh, bist du denn wahnsinnig? Eine Klasse die mehr als 1000 Zeilen hat, ist ein schlechtes Zeichen. Wenn Sie doch größer wird, musst du schon verdammt gute Gründe haben. (und diese auch dokumentieren)
Stell dir mal vor, du müsstes eine Klasse dieser Größe von einem anderen Programmierer editieren... Na herzlichen Dank. Da würde ich schonmal die Voodoo-Puppe rausholen.
 

AlArenal

Top Contributor
Es gibt so ein paar Faustregeln, die auf Erfahrungen basieren und davon sprechen, dass eine Datei nciht mehr als rund 2000 Zeilen Code haben sollte. Wenn deine 20.000 Zeilen nicht zu 90% aus Kommentaren bestehen, tippe ich doch stark darauf, dass die Klasse in Hinsicht auf Objektorientierung einfach schlecht designt ist.
 

Paladin

Bekanntes Mitglied
Hi AlArenal und Jockel,

das Programm welches ich gerade schreibe macht Auswertungen für Heilberufler. Da es 23 verschiedene Kassenärztliche Vereinigungen gibt die auch alle verschiedene Berechnungsmethoden haben und dazu bestimmt noch einmal zu jeder Kasse ca 30 verschiedene Arztgruppen dazugehören kommt ein ganzer Haufen von verschiedenen Berechnungen zusammen die allerdings in den meisten Fällen nicht einer einzigen KV zuzuordnen sind. Also wäre meine Alternative für jede KV eine eigene Klasse zu schreiben die dann zwar kleiner wäre aber ich hätte das Problem, dass viele Methoden 23x vorhanden wären was natürlich vom Wartungsaufwand her nicht vertretbar wäre.

Denkt ihr, dass eine so große Klasse wie ich sie weiter oben beschrieben habe die Performance des Programms so weit einschränkt, dass man um eine Aufteilung der Klasse nicht herumkommt?

Gruß

Paladin
 

AlArenal

Top Contributor
Wenn diese von dir beschrieben vielfach vorhandenen Methoden alle denselben INhalt hätten, wäre es sinnig diese in eine abstrakte Klasse zu packen. Dann hast du 23 Implementierungen, die alle nur noch das enthalten, was sie voneinander unterscheidet.

Das Problem einer einzelnen großen Klasse ist nicht Performanz, sondern dass sie der Grundidee der Objektorienterung in diesem Fall völlig widerspricht. Es ist gewissermaßen Spaghetticode; eine Vergewaltigung der Sprache...
 

Paladin

Bekanntes Mitglied
Hi AlArenal und Jockel,

vielen Dank für die verbale Prügel...:autsch:
Ich werde versuchen die Klasse irgendwie sinnig aufzuteilen.

Gruß

Paladin
 

Kawa-Mike

Mitglied
... und wenn dann die 24. dazukommt, brauchst du nur noch eine weitere Implementierung hinzuzufügen, anstatt Dich durch 20.000 Zeilen Code zu wühlen. D A N N wirst du den beiden erst richtig dankbar sein (-;
 

foobar

Top Contributor
Guck dir mal das GOF-Pattern Toolkit(Abstractfactory) an, das könnte was für dich sein.

Viele Grüße
foobar
 

Ralf Ueberfuhr

Bekanntes Mitglied
AlArenal hat gesagt.:
Es gibt so ein paar Faustregeln, die auf Erfahrungen basieren und davon sprechen, dass eine Datei nciht mehr als rund 2000 Zeilen Code haben sollte. Wenn deine 20.000 Zeilen nicht zu 90% aus Kommentaren bestehen, tippe ich doch stark darauf, dass die Klasse in Hinsicht auf Objektorientierung einfach schlecht designt ist.

Soll er doch den Code hier mal posten, dann können wir entscheiden, wie sinnvoll geplant wurde. :lol:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G http maximale transfer größe? Allgemeine Java-Themen 3
T Maximale Felder maximale Variablen Allgemeine Java-Themen 2
OnDemand Maximale Parameter Allgemeine Java-Themen 5
R ArrayList -- Maximale Anzahl an Elementen Allgemeine Java-Themen 2
Escorter Datei/Ordnernamen maximale länge Allgemeine Java-Themen 11
R java.lang.String maximale Anzahl der Zeichen Allgemeine Java-Themen 7
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
J Größe einer CD ermitteln Allgemeine Java-Themen 10
D Integer-Array variabler Größe mit Zahlen befüllen (Schleifen) Allgemeine Java-Themen 0
N Kombinationen beliebiger Größe berechnen Allgemeine Java-Themen 1
heyluigi Random Integer Array Ausgabe nach Größe sortieren Allgemeine Java-Themen 6
D Größe der Zahlenkombinationen eines Arrays begrenzen Allgemeine Java-Themen 3
C Ein Array mit der Größe von 1 KB erstellen Allgemeine Java-Themen 3
L Größe eines Objekts im Arbeitsspeicher Allgemeine Java-Themen 1
M ZipOutputStream gleiche Datei andere Größe? Allgemeine Java-Themen 0
M Array "Größe" anpassen Allgemeine Java-Themen 2
V Files mit Umlauten ergeben keine Größe Allgemeine Java-Themen 9
E ArrayList mit unbekannter Größe Allgemeine Java-Themen 8
F String in feste Größe zerlegen Allgemeine Java-Themen 11
F JFreeChart Größe anpassen Allgemeine Java-Themen 8
Z Position/Größe von Windows-Fenstern ermitteln Allgemeine Java-Themen 12
B JScrollPane und JPanel: Scrollen nur nach Größe des JPanels Allgemeine Java-Themen 2
W Größe des eingebauten Arbeitsspeichers auslesen Allgemeine Java-Themen 13
Developer_X Java3D-Ball größe angeben Allgemeine Java-Themen 12
reibi Größe Array aus bytes Allgemeine Java-Themen 14
data89 Die Größe eines Strings in Byte berechnen? Allgemeine Java-Themen 12
G ändernde größe des GrindBagL Allgemeine Java-Themen 2
L unterschiedliche Größe beim serialisieren eines Objektes! Allgemeine Java-Themen 6
G itext größe von image Allgemeine Java-Themen 2
S array von unbekannter größe Allgemeine Java-Themen 2
T Größe eine Variablen in Bytes? Allgemeine Java-Themen 22
C Größe von einem File Allgemeine Java-Themen 9
D JFrame vergrößert nicht auf die gewünschte Größe Allgemeine Java-Themen 2
S Bild Größe verändern Allgemeine Java-Themen 2
G String Array Größe begrenzt? Allgemeine Java-Themen 4
B ArrayList mit Größe initialisieren Allgemeine Java-Themen 16
P Größe eines Directories ermitteln mit allen SubDIR`s Allgemeine Java-Themen 28
G Image in der Größe ändern Allgemeine Java-Themen 2
S Swing - Problem mit Fenster-/Komponenten-Größe Allgemeine Java-Themen 3
R Größe der JRE anpassen Allgemeine Java-Themen 18
M Datein einlesen und in feste Größe aufsplitten Allgemeine Java-Themen 2
J Größe von 2D-Arrays Allgemeine Java-Themen 3
H Größe eines Bildes ändern und Bild speichern Allgemeine Java-Themen 11
E JPEG Datei Größe und Qualität ändern (für Thumbnails) Allgemeine Java-Themen 4
H Größe eines Schriftzeichens ermitteln Allgemeine Java-Themen 2
thE_29 Größe bzw. Zeilen einer Datei Allgemeine Java-Themen 4
P Verschiedene Aspekte einer idempotent API verstehen? Allgemeine Java-Themen 16
Zrebna Ausführung einer Testmethode in der IDE erfolgreich - failt aber via 'mvn test' Allgemeine Java-Themen 5
S Interpreter-Fehler Kann mir das mal einer erklären? Allgemeine Java-Themen 12
Zrebna Aus einer jar-Datei eine exe-Datei erzeugen lassen Allgemeine Java-Themen 37
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
T JNA, Aufruf der Funktionen einer dll Allgemeine Java-Themen 5
I Vom Monolith zu Services in einer Webseite Allgemeine Java-Themen 1
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
O Werte einer Generic LinkedList zusammenrechenen Allgemeine Java-Themen 14
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
J (Geplante) Änderungen an einer Datei vorübergehend speichern und anwenden? Allgemeine Java-Themen 12
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
_user_q Obfuscate einer .jar-Datei mit ProGuard? Allgemeine Java-Themen 2
_user_q Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Performance einer Monte-Carlo-Simulation verbessern Allgemeine Java-Themen 6
LimDul Kam eine java.net.URL zu einer HashMap und ging als DNS Anfrage wieder heraus Allgemeine Java-Themen 18
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
Zeppi NullPointerException in einer if-Abfrage Allgemeine Java-Themen 6
D Abbruch einer ViewScoped Bean in Arbeit Allgemeine Java-Themen 2
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
Lukas2904 Wie kann man cps (ClicksPerSecond) in einer GUI anzeigen lassen? Allgemeine Java-Themen 4
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
H Mehrere PNG-Files in einer Datei Allgemeine Java-Themen 9
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
J Zerlegen einer Zahl Allgemeine Java-Themen 6
Zrebna Wie kann man endgültig aus einer Rekursion ausbrechen? Allgemeine Java-Themen 14
MiMa Person in einer Arraylist hinzugügen mit Prüfung ? Allgemeine Java-Themen 6
Meeresgott Effizientester Weg um nach der Value einer verschachtelten Map aufzulösen Allgemeine Java-Themen 5
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
MiMa Prüfziffer einer EAN Nummer berechnen Allgemeine Java-Themen 4
MiMa Erstellungsdatum einer Datei Allgemeine Java-Themen 10

Ähnliche Java Themen


Oben