Versuchen Sie zunächst, ein Format zu finden, das dem zu erstellenden Format nahe genug kommt. Im Allgemeinen ist es besser, das Format einer Person zu verwenden, als das eigene zu erfinden, auch wenn das Format etwas komplexer zu sein scheint als das, was Sie benötigen 1 .
Wenn Sie kein geeignetes vorgefertigtes Format finden, prüfen Sie, ob Sie Ihr eigenes Format auf einem vorhandenen Universalformat wie XML oder Binär-XML aufbauen können . Dies sollte in fast allen Fällen möglich sein, wenn Sie ein neues Dateiformat starten möchten. Textbasiertes XML benötigt mehr Platz, bietet dem Menschen jedoch ein gewisses Maß an Lesbarkeit. Wenn Sie jedoch feststellen, dass Sie die Base-64-Codierung in einer XML-Datei verwenden, ist dies ein klarer Hinweis darauf, dass Sie stattdessen eine binäre Codierung hätten verwenden sollen.
Stellen Sie in Bezug auf gute und schlechte Praktiken sicher, dass Sie die Hardwarefunktion Ihrer ursprünglichen Zielplattform nicht in das Design Ihres Dateiformats "einbinden". Stellen Sie insbesondere sicher, dass Ihre Nummern in einem Format gespeichert sind, das auf Plattformen mit einer anderen Endianness als die des Schreibers korrekt gelesen werden kann , und dass Ihre benutzerbezogenen Zeichenfolgen in UNICODE gespeichert sind.
Eine weitere bewährte Methode besteht darin, einen Header einzuschließen, anhand dessen der Dateityp ermittelt werden kann, falls die Erweiterung fehlt oder falsch ist. Es ist eine gute Idee, eine Version Ihres Dateiformats in den Header aufzunehmen. Auf diese Weise können Sie das Format später ändern und abwärtskompatibel bleiben.
Wenn möglich, machen Sie Ihr Format nicht von den Besonderheiten des in Ihre Plattform integrierten Standard-Serialisierungsmechanismus abhängig. Beispielsweise ergeben binär serialisierte Java-Objekte kein gutes Dateiformat 2 .
Entscheiden Sie abschließend , ob Ihre Dateien streambar sein müssen . Dies führt zu einer zusätzlichen Komplexität, da einzelne "Frames" Ihrer Datei isoliert interpretiert werden sollten. In Fällen, in denen Sie Streamfähigkeit benötigen, sollten Sie jedoch fast immer in der Lage sein, ein geeignetes Dateiformat zu finden, das bereits vorhanden ist.
1 Auf der anderen Seite sollten Sie Formate vermeiden, die außergewöhnliche Anstrengungen erfordern, um die Komplexität zu unterstützen, die Ihre Anwendung erfordert.
2 Dies bedeutet jedoch nicht, dass Sie nicht versuchen sollten, das Lesen und Schreiben Ihres neuen Formats individuell in das Serialisierungsschema Ihrer Plattform zu integrieren, sondern sich nicht auf die Standardmechanismen der Serialisierung verlassen sollten.