Architekturfrage - state of the art?
Verfasst: Donnerstag 22. Februar 2018, 13:11
Ich habe eine größere Zahl von Daten, die ich in eine Datentabelle überführen muss, wofür ich mehrere verschachtelte Schleifen nutze. Ich muss zusätzlich ergänzend Fragen zu den Daten beantworten, z. B. nach Zuwachsraten oder nach dem niedrigsten oder höchsten Wert usw.
Im Kern habe ich zwei Herangehensweisen bei der grundsätzlichen Überlegung, die Daten, die ich zur Beantwortung der jeweiligen Frage benötigen werde, in eine geeignete Datenstruktur zu überführen, um so schneller und leichter eine Antwort zu finden.
Verfahren 1
Ich nutze die Schleifen, die mir die Datentabelle erzeugen, um auch die neuen Datenstrukturen zu erzeugen. Problem hier ist, dass mein Code unübersichtlich werden wird und - falls ich mal eine Prüfung herausnehmen muss oder kann - ich mich im Spaghetti-Code zurechtfinden muss und wahrscheinlich nicht mehr voll verstehe, was genau wofür (Datentabelle oder Teil einer mehrerer Prüfungen?) zuständig war.
Verfahren 2
Ich erzeuge die Datentabelle und erzeuge dann für jede Prüfung oder für Gruppen von Prüfungen eigene Datenstrukturen. Problem hier ist, dass ich vermute, dass die Laufzeit leidet, da ich ja viele Schleifendurchläufe oder Berechnungen (die ich schon für die Datentabelle erledigt hatte) erneute durchführen muss.
Da ich früher schon mal mit Verfahren 1 keine guten Erfahrungen gemacht hatte, geht meine Überlegung momentan eher zu Verfahren 2. Ich wollte mir aber dennoch mal Feedback einholen, wie ihr die Sache angehen würdet.
Im Kern habe ich zwei Herangehensweisen bei der grundsätzlichen Überlegung, die Daten, die ich zur Beantwortung der jeweiligen Frage benötigen werde, in eine geeignete Datenstruktur zu überführen, um so schneller und leichter eine Antwort zu finden.
Verfahren 1
Ich nutze die Schleifen, die mir die Datentabelle erzeugen, um auch die neuen Datenstrukturen zu erzeugen. Problem hier ist, dass mein Code unübersichtlich werden wird und - falls ich mal eine Prüfung herausnehmen muss oder kann - ich mich im Spaghetti-Code zurechtfinden muss und wahrscheinlich nicht mehr voll verstehe, was genau wofür (Datentabelle oder Teil einer mehrerer Prüfungen?) zuständig war.
Verfahren 2
Ich erzeuge die Datentabelle und erzeuge dann für jede Prüfung oder für Gruppen von Prüfungen eigene Datenstrukturen. Problem hier ist, dass ich vermute, dass die Laufzeit leidet, da ich ja viele Schleifendurchläufe oder Berechnungen (die ich schon für die Datentabelle erledigt hatte) erneute durchführen muss.
Da ich früher schon mal mit Verfahren 1 keine guten Erfahrungen gemacht hatte, geht meine Überlegung momentan eher zu Verfahren 2. Ich wollte mir aber dennoch mal Feedback einholen, wie ihr die Sache angehen würdet.