Skip to content

Das Projekt benötigt ein massives Refactoring #56

@Ditscheridou

Description

@Ditscheridou

Hi,

ich hab mich die letzten Tage mal versucht in das Projekt einzuarbeiten und mir sind einige Sachen aufgefallen, die angegangen werden müssen, weil ansonsten die technischen Schulden bald nicht mehr vertretbar sind.

  1. nicht mit JSONObject arbeiten --> es gibt mit GSON und Jackson genug Möglichkeiten der Serialisierung von JSON-Daten.
  2. strikte Trennung von Logik und Datenhaltung. --> das Projekt scheint mir nicht nach dem Domain-Modell aufgesetzt worden sein, deswegen wüsste ich nicht wieso z.B. eine SubstitutionSchedule Anwendungslogik enthalten sollte.
  3. Trennung von Parser und HTTP-Schnittstelle --> es ist nicht die Aufgabe eines Parsers die Daten sich irgendwo herzuholen, das macht ein REST-Controller. Das in einer abstrakten Schicht zu verstecken ist architektonisch falsch
  4. Enums benutzen für API Typen
  5. Entfernen von Apache Commons Lang 3 --> die Bibliothek ist nicht mehr zeitgemäß, grade durch das Fehlen von Generics. Viele Zeilen Code können hier gespart werden indem man auf Spring Web/Spring Boot migriert.
  6. Entwicklung einer einfach erweiterbaren Datenstruktur für den Parser --> Die Daten scheinen momentan einfach nur mit Regex Ausdrücken rausgeparst und in Objekten weggespeichert zu werden. Was ist aber wenn man diese mal erweitern muss? Dann steigt man kaum noch durch was wohin gehört.

Ich würd das Refactoring gerne angehen, hab aber moment noch Probleme zu verstehen wie der Parser funktioniert, da die Unit Tests nicht wirklich aussagekräftig sind. Vielleicht könnt ihr mir da helfen?`

VG
Didi

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions