molily: Schreibweise?

Beitrag lesen

Hallo,

Ich finde die ausführlichere Schreibweise für längere Sachen geeigneter. Der Logik nach kommt nach dem öffnenden »{« beim Object-Literal eine Einrückungsebene, sodass der gesamte Code im Literal schonmal um eine Ebene eingerückt wird. Je nachdem, wie kompliziert die Funktionen sind, hängt der letztliche Code durch sowas extrem weit rechts. Mit der langen Schreibweise hängt der Code in den Funktionen dann eine Stufe weiter links.

Die Wiederaufnahme des Schemas Bla.bezeichner = function () { ... }; ist auch ohne den Kontext des möglicherweise riesigen Object-Literals verständlich. Wenn ich also an einer beliebigen Stelle in den Quellcode schaue, brauche ich nicht viele Seiten nach oben scrollen, um dort irgendwo ein unauffälliges »var bla = {« zu finden. (Das stört mich bei Prototype, jQuery und Co. sehr.)

Nicht zuletzt kann man die Zuweisungen von Bla.a und Bla.b trennen. Bla = { /* und hier alles drin */ } ist immer die Erstdefinition, die vorige Member überschreibt. Mit dem Schema Bla.member = ... kann man immer anhängen, anstatt monolithisch zu definieren. Davor kann man dann ggf. if (!window.Bla) Bla = {}; hängen, wenn man sowas wie optionale Module realisieren will.

Letztlich läuft es m.E. aber auf eine Mischung von beiden Formen hinaus. Das kann man schwer so allgemein diskutieren, denke ich. Ich verwende für kurze zusammenhängende Scripte gerne das Object-Literal. Wenns dann komplizierter wird, stören sie mich allerdings und beißen sich mit Namespacing und Modularisierung, wie ich sie gerne hätte.

Mathias