Hallo Entwickler von Gladys ![]()
Das « frontend »-Projekt von Gladys 4 wurde 2018/2019 erstellt, und bestimmte Konfigurationspunkte werden mit der Zeit veraltet/ungünstiger.
Ich würde gerne mit euch über die verschiedenen Dinge sprechen, die aktualisiert werden können, damit der Code moderner wird, und um zu iterieren, was im Frontend gut/laut schiefgegangen ist.
ESLint aktualisieren
Die ESLint-Konfiguration aktualisieren, um die neuesten JS-ES2023-Verbesserungen zu ermöglichen (z. B. den Operator ?., darüber haben wir mit @bertrandda in seinem letzten PR gesprochen)
Das erinnert mich daran, dass wir das auch im Backend tun sollten, weil bestimmte JSDoc-Fehler unmöglich zu verstehen sind, und in einer neueren Version viel verständlicher sind!
Verwendung der @connect-Dekoratoren von unistore beenden
Das war damals in Mode, und am Ende empfiehlt unistore es nicht mehr, es war ein « Hack », der vom Transpiler erlaubt wurde, ich glaube nicht einmal, dass es 2023 in der JS-Spezifikation ist.
Früher:
Jetzt:
Ich muss eine ESLint-Regel hinzufügen, um dieses Verhalten zu verbieten.
Verwendung des globalen unistore-Speichers stark einschränken
Ich gebe es zu, es ist meine Schuld, zu Beginn der v4 dachte ich, ein globaler Speicher wäre eine gute Idee, wahrscheinlich aufgrund von mangelnder Erfahrung in der React-Entwicklung. Das Ergebnis: Wir hatten viele Bugs, die mit dem globalen Speicher zusammenhängen, weil sich natürlich Variablen zwischen den Komponenten gegenseitig verschmutzen.
Mein Vorschlag: Die Verwendung des Speichers auf die « globalen » Variablen beschränken: user, session, httpClient, und das war’s.
Der Rest sollte Klassenstates sein, lokal zur Klasse. Das verhindert die Verschmutzung zwischen Komponenten.
Ebenso sollten wir prüfen, ob ESLint uns helfen kann, den Entwickler zu warnen.
Vereinheitlichung des Styling-Verhaltens
Das Styling im Frontend wurde nicht unbedingt auf ESLint-Ebene durchgesetzt, und das halte ich für einen Fehler.
Bestimmte Komponenten verwenden inline-Styles (style={{}}), was eine schlechte Praxis in Bezug auf die Performance ist, weil bei jedem Render ein Objekt neu erstellt wird.
Außerdem sind diese Styles schwer zu modifizieren, um das responsive Design zu verwalten.
Mein Vorschlag: Style-Dateien in .css (eine für jedes Feature, grob gesagt), die in die Komponente importiert werden.
Media Queries werden möglich und ermöglichen die Verwaltung kleiner/großer Geräte:
Mehr ESLint-Regeln, um PR-Reviews zu beschleunigen
Ich habe festgestellt, dass ich bei der Überprüfung des letzten PR von @bertrandda oft die gleichen Anmerkungen zum Frontend-Code in den PRs mache (Achtung vor inline-Funktionen, inline-Styles usw.), und dass dieses Feedback in ESLint sein könnte, damit die Reviews schneller gehen ![]()
@contributors: Was denkt ihr? Andere Rückmeldungen zum Frontend? ![]()





