![]() |
Anzahl Klassenvariablen
Hallo Delphi Freunde,
meine Frage, wie viele klassenvariablen kann man in einem Objekt anlegen privat und public? soll man die nach datentyp sortieren?
Delphi-Quellcode:
sind das schon zu viele?
private
{ Private-Deklarationen } wochMt : string; anzok : integer; anz : integer; anzok1 : Integer; anznotok : integer; fromweek : integer; toweek : integer; Aktuellewoche : word; maxY : integer; merkeindex : integer; WordApp : OleVariant; selec: OleVariant; wochenDaStart : array [1..53] of double; monatsDaStart : array [1..12] of double; wochenarrOTD1 : array [1..53] of double; wochenarrOTD : array [1..53] of double; monatsarrOTD1 : array [1..12] of double; monatsarrOTD : array [1..12] of double; wochenOTDGut1 : array [1..53] of double; wochenOTDBad1 : array [1..53] of double; monatsOTDGut1 : array [1..12] of double; monatsOTDBad1 : array [1..12] of double; wochenOTDGut : array [1..53] of double; wochenOTDBad : array [1..53] of double; monatsOTDGut : array [1..12] of double; monatsOTDBad : array [1..12] of double; monatsCYi : array [1..12] of double; wochenCYi : array [1..53] of double; monatsFAL : array [1..12] of double; wochenFAL : array [1..53] of double; monatsFPY : array [1..12] of double; monatsYield : array [1..12] of double; monatsGold : array [1..12] of double; monatsSuco : array [1..12] of double; monatsPPM : array [1..12] of double; monatsCATs : array [1..12] of double; monatsAuditint : array [1..12] of double; monatsDLZ : array [1..12] of double; monatsWIP : array [1..12] of double; monatsCutRF : array [1..12] of double; monatsCutFO : array [1..12] of double; monatsCutMeter : array [1..12] of double; monatsDp11 : array [1..12] of double; monatsDp2 : array [1..12] of double; wochenFPY : array [1..53] of double; wochenYield : array [1..53] of double; wochenGold : array [1..53] of double; wochenSuco : array [1..53] of double; wochenPPM : array [1..53] of double; wochenCATs : array [1..53] of double; wochenAuditint : array [1..53] of double; wochenCutRF : array [1..53] of double; wochenCutFO : array [1..53] of double; wochenCutMeter : array [1..53] of double; wochenCogi : array [1..53] of double; wochenDLV : array [1..53] of double; wochenCNF : array [1..53] of double; wochenDp11 : array [1..53] of double; wochenDp2 : array [1..53] of double; wochenToolProd : array [1..53] of double; wochenToolUnProd : array [1..53] of double; wochenToolProz : array [1..53] of double; monatsToolProd : array [1..12] of double; monatsToolUnProd : array [1..12] of double; monatsToolProz : array [1..12] of double; monatsPlatSales : array [1..12] of double; monatsPlatBudget : array [1..12] of double; monatsPlatCurGold : array [1..12] of double; monatsPlatCurSuco : array [1..12] of double; monatsPlatOTD : array [1..12] of double; monatsPlatBatch : array [1..12] of double; monatsTPTTotal : array [1..12] of double; monatsTPTHydro : array [1..12] of double; monatsTPTDreher : array [1..12] of double; wochenWSPGut : array [1..53] of double; wochenWSPBad : array [1..53] of double; wochenWSPPercent : array [1..53] of double; monatsWSPGut : array [1..12] of double; monatsWSPBad : array [1..12] of double; monatsWSPPercent : array [1..12] of double; wochenTPTTotal : array [1..53] of double; wochenTPTHydro : array [1..53] of double; wochenTPTDreher : array [1..53] of double; wert1: double; wert2: double; hWindow: HWND; merkdienummer : integer; wowarer : Integer; plantindex: Integer; merkewoche: Boolean; elementeCS: array of string; public werk1: Integer; werk2: Integer; werk3: Integer; division1: Integer; division2: Integer; division3: Integer; division4: Integer; welcherint: Integer; welcheSerie: Integer; jahr : word; extwarengruppe1: string; extwarengruppe2: string; extwarengruppe3: string; extwarengruppe4: string; superv1 : string; superv2 : string; superv3 : string; superv4 : string; superv5 : string; superv6 : string; superv7 : string; superv8 : string; superv9 : string; superv10 : string; superv11 : string; superv12: string; Anwender : string; Rolle: string; elementstr: string; superstr : string; gruss Peter |
AW: Anzahl Klassenvariablen
Rein technisch wird das nicht zu viel sein.
Aber die Übersichtlichkeit ist doch bedenklich, oder? |
AW: Anzahl Klassenvariablen
Zu viele werden es wohl nicht sein, aber ich würde die Variablen in Records zusammenfassen weil übersichtlicher, und schneller/sicherer initialisiert (mit FillChar)
|
AW: Anzahl Klassenvariablen
Wenn du so viele Klassenvariablen hast, solltest du überlegen ob deine Klasse nicht zu viele Aufgaben erledigt oder Daten zu grob klassifiziert handhabt. Wenn du Code willst, bei dem dein Nachfolger nicht mit einer Kettensäge vor deiner Haustür auftaucht, würde ich einen Schritt zurück machen und die Struktur und Aufteilung der Klasse überdenken.
|
AW: Anzahl Klassenvariablen
Zusätzlich könnte man noch die Arrays typisieren
Delphi-Quellcode:
und diese Typen dann verwenden. Man stelle sich nur vor, die Dimensionen ändern sich irgendwann, dann tippt man sich ja wund und übersieht am Ende immer noch welche (DRY).
type
TDblArray53 = array [1..53] of double; |
AW: Anzahl Klassenvariablen
Zitat:
Vieles mit den selben Array-Grezen (monate, wochen, ...) und gemeinsamen Thema auslagern.
Delphi-Quellcode:
WochenIrgendwas: array [1..53] of TDiesUndDasRecord;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz