Felix Riesterer: Vorläufige Endversion meines Artikels

Beitrag lesen

Lieber Struppi,

vielen herzlichen Dank für Dein umfangreicheres Feedback! Ich habe mir die Zeit genommen, Deine Anregungen in meinen Artikel einzuarbeiten.

Mann oh Mann, wie kann man so viel schreiben, würd ich auch gern können ;-)

Irgendwie muss meine akademische Ausbildung bei mir ja Spuren hinterlassen haben... oder? ;-)

Aber du wolltest Kritik .

Jaaa!

Einmal nennst du den Konstruktor immer noch Fabrik. [...]
Ich würd' es etwas anders formulieren

Deine Vorschläge habe ich übernommen und eingearbeitet.

Ich weiß nicht ob das wirklich eine Rolle spielt, mit der Logik. Ich weiß nicht, ob es die Diskussion hier schon mal gab. Aber ich glaube, du musst bei mit JS eingefügten Elementen, nicht unbedingt die Regeln des HTML Validators befolgen. Aber das ist nur meine Meinung, da kann ich mich auch Irren.

Warum sollte ich eine logische Dokumentenstruktur mittels JS "zerstören"? Wenn ich mich da an den sinnvollen Aufbau halte, dann klappen solche Manipulationen vielleicht auch in XML-Dokumenten (z.B. XHTML als application/xhtml+xml ausgeliefert), ohne dass der Browser sofort alles zusammenfaltet... Jedenfalls will ich solche Risiken erst garnicht eingehen.

Solche Manipulationen am DOM-Baum des HTML-Dokuments sind erst nach dem abgeschlossenen Ladevorgang möglich!

Soweit ich das sehe ist das nicht so.

Auch hier habe ich jetzt eine genauere Formulierung dazu:

"Solche Manipulationen am DOM-Baum des HTML-Dokuments sind erst dann möglich, wenn die zu manipulierenden Elemente auch tatsächlich zum Zeitpunkt des Funktionsaufrufes im Dokument existieren. Aus diesem Grund ist es mehr als ratsam, solche Manipulationen erst nach dem abgeschlossenen Ladevorgang durchzuführen! Daher kann die Funktion ersetze auch erst nach dem vollständigen Laden fehlerfrei Arbeiten."

Ein Kritikpunkt, den du dir nochmal überlegen solltest und der ja auch schon diskutiert wurde, ist, ob du wirklich ein new Boolean im Fehlerfall zurückgeben willst? Das ist sehr unüblich und es gibt bessere Wege. z.b. könntest du auf die Eigenschaft element testen.

Meinst Du das so, dass ich in meinem Konstruktor einfach ein simples "return;" notiere, anstatt ein new Boolean(false)? Das ließe sich sehr einfach ändern, ja.

Dann will ich natürlich nicht abreden, dass du es bestimmt versucht hast, aber ich finde deine Erläuterungen zu den CSS Problemen zu hart.

Ich habe die Erläuterung aufgetrennt in "nimm es hin, es funzt" und in "für Fortgeschrittene, die es wirklich wissen wollen", damit Anfänger das zweitere einfach überlesen können. Besser so?

Aber eins noch, da du am Anfang auf den Artikel von Mathias verweist (der Link ist übrigens falsch), dann benutz doch auch literale, du benutzt ein Misch Masch aus beiden Schreibweisen.

Den Link habe ich korrigiert - danke. Dass ich hier zweierlei Notationen vermische hat zwei Gründe:
1.) Ich notiere gerne Objektliterale. Eine Funktionsdefinition kann ich nicht als Objektliteral notieren.
2.) Um Anfängern beide Notationen anzubieten und näherzubringen, benutze ich eben beide. Dass man das Objekt auch anders hätte notieren können, mag sein, führt aber meiner Meinung nach zu längerem Code, der nicht unbedingt übersichtlicher sein muss.

Jedenfalls vielen Dank für Deine Anregungen! Mein Artikel ist dadurch bestimmt besser geworden!

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)