Klaus Mock: Formularauswertung für Anfänger

Beitrag lesen

Hallo Kess,

Und seien wir mal ehrlich, was sind bei Objekten dessen Eigenschaften für die diversen Methoden anderes als eben auch globale Variablen, auch wenn sie sich gut verstecken.
Wenn ich beispielsweise aus verschiedenen Quellen mit verschiedenen Methoden Informationen zusammensuche, so würde mich ein ständiges Durchreichen der bereits erhaltenen Ergebnismenge zwecks Anfügen neuer Daten mehr behindern als nützen, abgesehen davon, daß es jeder dieser Methoden möglich wäre, bzw weil es ja auch so sein muß, die durchgereichte Informationsstruktur zu verändern. Wo liegt also der Benefit.

aehm .... Objekteigenschaften sollten nicht von aussen veraendert werden sondern immer mittels Methoden.

Tja, da hat wohl der Kopf einige Sprünge gemacht, und die Finger sind nicht mitgekommen, so ist es halt passiert, daß ich von den Objekten irgendwie wieder zu den globalen Variablen gekommen bin, ohne daß es irgendwer merkte (inklusive meinereiner). Oder wie sagte es Winnie, der Bär so treffend: "Am Anfang machte es ja noch Sinn, aber irgendwo muß ihm etwas zugestoßen sein" (oder war es das Kaninchen??)

An sonsten hast du vollkommen rechrt, Objekteigenschaften sind für das Objekt stets Globale Variablen.

Und wenn ich mal so verwegen sein darf, und ein CGI-Script als abgeschlossenes Objekt ansehen, dann sind halt die globalen Variablen nicht viel anderes als Objekteigenschaften. Mir gefällt die Idee der Objekte im Zusammenhang mit CGI-Scripts sowieso recht gut, da sie einen definierten Eingang und ebenso definierten Ausgang haben. Und weil das HTTP-Protokoll wunderbarerweise ein statusloses Protokoll ist, muß man sich schon anstrengen, um Seiteneffekte zu erreichen.
Im Normalfall bleibt alles sauber, das script wird beendet, und alles was passiert ist, ist vergessen. Herrlich!

Jupp. Die Theorie ist eine Sache, die Praxis eine andere. Wie eigentlich bei fast allem im Leben kann man es mit der Einhaltung der Regeln wirklich uebertreiben.

Ja, Regeln sind wunderbar, wenn sie jedoch Dogmen werden, dann sind sie sinnleer. Ich denke, daß das sture Erfüllen irgendwelcher Regeln meist mit mangelnder Bereitschaft, sie auch wirklich zu verstehen, zu tun hat. Ganz kraß wird es allerdings, wenn es um Gesetze geht. Die sollten ja auch im Wesentlichen Regeln für ein geordnetes Miteinander aufstellen. Und dann werden gute Ideen, welche halt in Gesetze gegossen wurden, völlig sinnentleert stur nach dem Buchstaben befolgt. Aber, wem erzähle ich das :-(

Und spaetestens wenn auf Performance optimiert wird, ist die reine Lehre oft nur noch hinderlich. Ich benutze ganz gerne globale Variablen, auch wenn ich weiss, dass es auch anders geht und man es anders machen sollte. Es ist imho lesbarer und schneller.

Wobei ich auch schon gräßliche Dinger gesehen habe, und das mit der Ausrede, daß dadurch eine bessere Performance erzielt wird.
Ich entscheide das meist spontan, wenn ich das Gefühl habe, ich kann den oder jenen Code irgendwann vielleicht mal nochmals nutzen, dann wird gleich von Anfang an entsprechend Sorge getragen, daß es auch eine in sich gekapselte Funktion oder ein Modul wird.
Wenn es nur mehr verkrampft möglich ist, die 'reine' Lehre zu befolgen, und es abschätzbar ist, daß das ein implementierungsspezifischer Code wird, dann pfeif ich drauf, und mache es so, wie es am geschicktesten ist.
Und wenn ich mal draufkomme, daß es so oder anders besser wäre, dann wird das eben geändert. Es sagt ja keiner, daß alles, was mal geschrieben wurde, unabänderlich ist.

Grüße
  Klaus