Entwurfsmuster für JavaScript

Entwurfsmuster (englisch: Design Patterns) sind eine Art Best Practice für Programmiersprachen. Also der optimale Weg ein Ziel zu erreichen. Entwurfsmuster sind deshalb wichtig, weil sie eine Art Normierung des Codes darstellen. Dies wiederum ermöglicht Dritten, den Quelltext einfacher zu lesen. So weit zur Theorie, in der Praxis macht dann doch jeder was er will ;) Dies mag für die meisten zwar ausreichen, aber gerade bei der Arbeit für große Firmen obliegt auch der Quelltext selbst gewissen Qualitätsmerkmalen, wieso also nicht direkt von vorne herein richtig?

JavaScript Design Patterns

Bei JavaScript (wie in fast allen anderen Programmiersprachen) führen mehrere Wege zum Ziel. Ich kann einen Quelltext durchaus verständlich und logisch aufbauen, ich kann ihn aber auch so anlegen das ein Dritter auf gar keinen Fall den Sinn & Zweck verstehen kann. Meine besondere Favoriten sind in diesem Fall übrigens immer die verschiedenen Kurz-Formen und Konstrukte rund um For-Schleifen. Auf GitHub ist eine Sammlung von Design Patterns aufgetaucht die wirklich alle Belange des Alltags abdeckt. Das interessante hierbei ist, dass die Seite nicht nur zeigt wie es richtig geht, sondern auch was man nicht machen soll (Anti-Pattern). Direkt anschauen kann man sich die Seite übrigens hier.

Kleines Beispiel? Die Deklaration von Variablen ist in JavaScript reine Fleißarbeit und könnte so aussehen:

var a = 1;
var b = 2;
var b = 3;

Dies wäre dann ein Anti-Pattern, also keine Best Practice, stattdessen sollte man dieses hier verwenden:

var a = 1,
    b = 2,
    c = 3;

Kleiner Tipp, große Wirkung. Wenn man durch die Seite blättert wird man schnell Anti-Pattern finden, die man regelmäßig in Verwendung hat. Man kann einfach sehen wie es anders besser geht und so für die Zukunft lernen. Mir gefällt die Sammlung sehr gut und vielleicht blättert ja auch der eine oder andere von euch mal durch die Seiten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.