Für ein Projekt muss ich mit verschiedenen Dateitypen aus einigen alten Spielen und verwandter Software arbeiten - Konfigurationsdateien, Speicherungen, Ressourcenarchive usw. Der Großteil davon ist noch nicht dokumentiert, und es gibt auch keine Tools, mit denen ich arbeiten kann. Daher muss ich die Formate zurückentwickeln und meine eigenen Bibliotheken erstellen, um sie zu verarbeiten.
Obwohl ich nicht annehme, dass das meiste davon stark nachgefragt wird, beabsichtige ich, die Ergebnisse meiner Bemühungen zu veröffentlichen. Gibt es akzeptierte Standards für die Dokumentation von Dateiformaten? Wenn Sie sich umschauen , werden verschiedene Stile verwendet: Einige, wie die .ZIP-Dateiformatspezifikation , sind sehr wortreich; andere, wie die auf XentaxWiki, sind viel knapper - ich finde einige schwer zu lesen; Das, was mir persönlich am besten gefällt, ist diese Beschreibung des PlayStation 2-Speicherkartendateisystems , die sowohl detaillierten Beschreibungstext als auch mehrere 'Speicherkarten' mit Offsets und dergleichen enthält - sie passt auch am besten zu meinem Anwendungsfall. Es wird für verschiedene Formate ein wenig variieren, aber es scheint, dass es einige allgemeine Prinzipien geben sollte, denen ich folgen sollte.
Edit: Ich habe anscheinend nicht sehr gut erklärt, was ich tun möchte. Lassen Sie mich ein Beispiel konstruieren.
Möglicherweise habe ich eine alte Software, die ihre Konfiguration in einer 'binären' Datei speichert - eine Reihe von Bitfeldern, Ganzzahlen, Zeichenfolgen und so weiter, die vom Programm zusammengeklebt und verstanden werden, aber nicht für Menschen lesbar sind. Ich entschlüssele das. Ich möchte genau das Format dieser Datei auf lesbare Weise als Spezifikation für die Implementierung einer Bibliothek zum Parsen und Ändern dieser Datei dokumentieren. Außerdem möchte ich, dass dies für andere leicht verständlich ist.
Es gibt verschiedene Möglichkeiten, wie ein solches Dokument geschrieben werden kann. Das obige PKZIP-Beispiel ist sehr wortreich und beschreibt das Dateiformat hauptsächlich im Freitext. Das PS2-Beispiel enthält Tabellen mit Werttypen, Offsets und Größen mit ausführlichen Kommentaren zu deren Bedeutung. Viele andere, wie die in XentaxWiki, listen nur die Variablentypen und -größen mit wenig oder keinem Kommentar auf.
Ich frage, ob es einen Standard gibt, der einem Coding Style Guide ähnelt und Anleitungen zum Schreiben dieser Art von Dokumentation enthält. Wenn nicht, gibt es ein bekanntes hervorragendes Beispiel, das ich emulieren sollte? Wenn nicht, kann jemand zumindest einige nützliche Ratschläge zusammenfassen?
struct
. Es hat ganz gut funktioniert.