Thread Inhalt aus Logging zählen (24 answers)
Opened by la_dy82 at 2010-12-14 18:12

dgw
 2010-12-17 15:27
#143668 #143668
User since
2010-08-16
27 Artikel
BenutzerIn

user image
2010-12-16T17:58:20 clms
Hallo Daniel,

wie Dubu schon geschrieben hat - Dein Code testet den Inhalt nicht sondern verschwendet ettliche Zeilen um die ohnehin vorhandene Autovivifikation manuell nachzubauen.

Aber kommen wir zu Deiner Aussage: "Später den Hash zu prüfen ob alle Key/Value Paar überhaupt erlaubt waren ist wenig hilfreich."
Das kann man so auch nicht unkommentiert stehen lassen.

Ich gehöre zu den Leuten, die Input lieber dreimal zu viel als einmal zu wenig überprüfen. Aber ob es wirklich sinnvoll ist, den Inhalt schon hier ausführlich zu checken oder erst später, wenn man die Daten wieder aus dem Hash ausliest (oder garnicht, weil alles gültig ist), hängt von vielen anwendungsspezifischen Faktoren ab, die wir hier nicht kennen:

- wie vertrauenswürdig ist der Input?

- was sind gültige Werte für $model und $color?
-> evtl. alles was die Regex erfüllt.

- Kennt man beim Einlesen überhaupt schon alle Bedingungen für gültige Werte?
-> evtl. will man eine einheitliche Einlese-Routine nutzen,
später ergeben sich aber - aus Zusammenhängen, die der Einleseroutine nicht bekannt sind - Einschränkungen für die gültien Werte.

- was wird mit den Daten nachher angestellt?
-> Sind fehlerbehafte Werte wirklich kritisch oder werden sie später ohnehin bemerkt oder ausgefiltert?

Und wenn ein fehlerhafter Wert erst später, ohne Angabe der Inputzeile gemeldet wird, ist das auch noch kein Problem. Dann macht man halt einen Grep auf den Inputfile. Dauert 2-3 Sekunden länger...

Hallo clms,

Das mein Code unvollständig ist, hat Dubu richtig erkannt.

Es ist meine persönliche Meinung und Erfahrung bei der Verarbeitung von Daten. Ein Beispiel: Ich hatte diese Woche eine Aufgabe bei der ich 4 Eingabedateien mit Daten zusammenfassen und verarbeiten musste. Und ich finde es dann für mich persönlich einfacher, beim Einlesen jeder Quelle direkt eine Fehlerprüfung zu machen. Später beim Verarbeiten kann ich mich dann darauf verlassen, daß die Daten bereits geprüft sind und der Code der die Verarbeitung macht wird nicht noch zusätzlich aufgebläht.
Und für das Einlesen hatte ich eine einzige Routine, die unterschiedlichen Prüfungen hat ein Callback erledigt, dem ich jeden Datensatz vor der Speicherung zur Prüfung vorgeworfen habe. Und hier hatte jeder Dateityp einen eigenen Callback. Fertig ist das variable System. Ich komme damit gut zurecht.

Aber wie bei allem rund um Perl gilt: There is more than one way to do it.

Daniel

View full thread Inhalt aus Logging zählen