Fallback Image

Bad Practices

Was Du NICHT in Laravel tun solltest

Unser Halloween Meetup stand ganz im Zeichen von schaurigen Laravel Code-Sünden und schlechten Praktiken, die den Entwicklern Albträume bereiten können. Wir haben uns drei Beispiele angesehen, bei denen es gruselig wurde – und hier sind die Erkenntnisse, die wir daraus gewonnen haben.

Witch's Brew of Code

Unter Entwicklern, besonders mit Laravel, herrscht eine großartige Zusammenarbeit und Hilfsbereitschaft, und auf Stack Overflow erhält man schnell Antwort, wenn man im eigenen Code mal nicht weiterkommt. Der Fehler, der hier aber viel zu schnell passiert: Der Code wird kopiert und eingefügt, aber nicht wirklich verstanden. Das Ergebnis ist ein „Witch’s Brew of Code“, eine Mischung aus verschiedenen Stilen, Codeblöcken und Design-Patterns, die von überall her zusammengewürfelt wurden. Das kann trotzdem funktionieren, ist aber chaotisch und nicht intuitiv.


Die Folge: Wenn in Zukunft ein Fehler auftritt, ist es deutlich schwerer, die Ursache zu ermitteln, und für andere Entwickler ergibt der Code auf den ersten Blick möglicherweise auch keinen Sinn, wenn man die Entstehungsgeschichte nicht kennt. 

Ein Beispiel für "messy" Code: 

Chaos im Code entsteht auch, wenn man die Dokumentation nicht richtig liest. Es ist verlockend, einfach direkt drauflos zu programmieren, aber oft zeigt die Dokumentation den saubersten und einfachsten Weg, etwas umzusetzen. So wie in unserem Beispiel: 

Beware of the Zombies

Meistens gilt: “Your application is only as good as your data”.

Chaos in der Datenbank kann einem schnell auf die Füße fallen! Viele Entwickler konzentrieren sich ausschließlich darauf, die Anwendung so schnell wie möglich zum Laufen zu bringen, ohne wichtige Aspekte wie die Struktur und Sauberkeit der Datenbank zu berücksichtigen – und dann entstehen Zombie-Einträge. 

Ein Zombie-Eintrag ist ein Child-Datensatz, der keinem Parent-Datensatz zugeordnet ist. Dies passiert, wenn die Datenbank von Anfang an nicht richtig strukturiert wurde. Bei der Erstellung der Datenbank sollten wir nach Möglichkeit Fremdschlüssel verwenden, um sicherzustellen, dass alle Beziehungen korrekt definiert sind.

Eloquent Hell

Ein typischer Grund für die schlechte Performance eines Laravel-Projekts ist die Struktur der Eloquent-Abfragen. Viele der Dinge in Eloquent sind für die Entwickler verborgen, und wenn man nicht vorsichtig ist, können seltsame und problematische Dinge passieren, z. B. das N+1 Query-Problem, oder wie wir es nennen: „Eloquent Hell“

Um solche Probleme zu vermeiden, sollte man stets darauf achten, wie Abfragen strukturiert sind, und Tools wie „Laravel Debugbar“ oder „Laravel Telescope“ nutzen, um potenzielle N+1 Query-Probleme frühzeitig zu erkennen.

Unsere Halloween-Meetup-Session hat uns gezeigt, wie einfach es ist, in schaurige Code-Fallen zu tappen, und wie gefährlich es sein kann, schlechte Praktiken in unseren Laravel-Projekten zuzulassen. Die vorgestellten Beispiele verdeutlichen, dass Sorgfalt, Verständnis für die eigenen Tools und eine gute Struktur essenzielle Bestandteile jedes Entwicklungsprozesses sein sollten.

Um die Performance und Wartbarkeit unserer Projekte zu gewährleisten, ist es wichtig, stets die Dokumentation zu lesen, die Datenbank sauber zu halten und die Struktur der Eloquent-Abfragen im Auge zu behalten. So können wir sicherstellen, dass unsere Anwendungen nicht zu einem Albtraum für zukünftige Entwickler – oder für uns selbst – werden. Bleibt wachsam, arbeitet gründlich und "beware of the Code-Zombies"! 


Interesse an unseren Meetups?

Tritt gern unserer Meetup Gruppe bei

Jetzt anmelden