Pour un projet, je dois travailler avec différents types de fichiers provenant d'anciens jeux et logiciels associés - fichiers de configuration, sauvegardes, archives de ressources, etc. La plupart d'entre eux ne sont pas encore documentés, et il n'existe pas d'outils pour les utiliser, donc je dois inverser l'ingénierie des formats et créer mes propres bibliothèques pour les gérer.
Bien que je ne suppose pas qu'il y ait une grande demande pour la plupart, j'ai l'intention de publier les résultats de mes efforts. Existe-t-il des normes acceptées pour documenter les formats de fichiers? En regardant autour de vous, plusieurs styles sont utilisés: certains, comme la spécification du format de fichier .ZIP , sont très verbeux; d'autres, comme ceux sur XentaxWiki, sont beaucoup plus concis - je trouve certains d'entre eux difficiles à lire; celle que j'aime le mieux est cette description du système de fichiers de carte mémoire PlayStation 2 , qui comprend à la fois un texte descriptif détaillé et plusieurs `` cartes mémoire '' avec décalages et autres - elle correspond également le mieux à mon cas d'utilisation. Cela variera un peu pour différents formats, mais il semble qu'il devrait y avoir des principes généraux que je devrais essayer de suivre.
Edit: il me semble que je n'ai pas très bien expliqué ce que je veux faire. Permettez-moi de construire un exemple.
Je peux avoir un vieux logiciel qui stocke sa configuration dans un fichier `` binaire '' - une série de champs de bits, d'entiers, de chaînes et tout le reste collés et compris par le programme, mais pas lisibles par l'homme. Je déchiffre cela. Je souhaite documenter exactement quel est le format de ce fichier, d'une manière lisible par l'homme, comme spécification pour implémenter une bibliothèque pour analyser et modifier ce fichier. De plus, j'aimerais que cela soit facilement compris par d'autres personnes.
Il existe plusieurs façons d'écrire un tel document. L'exemple PKZIP ci-dessus est très verbeux et décrit principalement le format de fichier en texte libre. L'exemple PS2 donne des tableaux de types de valeurs, de décalages et de tailles, avec des commentaires détaillés sur ce qu'ils signifient tous. Beaucoup d'autres, comme ceux sur XentaxWiki, ne listent que les types et tailles de variables, avec peu ou pas de commentaires.
Je demande s'il existe une norme, semblable à un guide de style de codage, qui fournit des conseils sur la façon d'écrire ce type de documentation. Sinon, y a-t-il un excellent exemple bien connu que je devrais imiter? Sinon, quelqu'un peut-il au moins résumer quelques conseils utiles?
struct
. Cela a très bien fonctionné.