Warum werden beim Lesen alle Formate durchprobiert?
Ein Informatikprinzip, um Programme robust zu implementieren, lautet stark verkürzt:
Sei beim Lesen von Daten möglichst lax und beim Schreiben möglichst strikt.
Daraus folgt, daß sich der Programmcode beim Lesen der Daten auf die Dateiendung sowieso nicht verlassen dürfte und stur versucht, die internen Strukturen mit den gelesenen Daten zu füllen. Stattdessen rechnet guter Programmcode immer damit, kaputte oder falsche Daten vorgesetzt zu bekommen. Diese Robustheit sieht der Nutzer nicht direkt, sie kostet aber viel Aufwand bei der Programmierung.
Also habe ich da aus der Not eine Tugend, d.h. ein Feature, gemacht: RouteConverter erkennt ohne Zutun des Benutzers das Dateiformat und liest die Datei ein.
Dafür kommen alle Formate an die Reihe und dürfen versuchen, die Daten zu lesen. Zu "vorsichtige" Formate lehnen Dateien ab, die eigentlich für sie bestimmt wären - bei den XML-basierten Formaten wie dem Google Earth (*.kml) Format passiert das häufiger. Zu "gierige" Formate interpretieren auch Daten, die sie gar nicht verstehen können, und liefern dann Müll zurück - Garmins POI DB (*.xcsv) ist ein Kandidat dafür.
Treten solche Fehler auf, dann bekomme ich die ziemlich schnell von Nutzern berichtet und behebe sie so schnell es geht. Denn nach etwa 500000 Downloads und hunderttausend regelmäßigen Nutzern muß ich aufpassen, daß ich in Supportanfragen nicht untergehe.
Diese Seite wurde angefragt in German aber wir haben nur gefunden English.
Bitte wähle die Sprache aus, in die die Seite übersetzt werden soll: