J'ai déjà utilisé du XML, mais il est très verbeux et maladroit. Nous utilisons actuellement YAML, mais je constate que la plupart des développeurs ont beaucoup de problèmes avec les espaces. Y at-il un format de type YAML insensible aux espaces, mais pas aussi détaillé que XML?Quels sont les bons formats de sérialisation alternatifs?
2
A
Répondre
5
Vous n'avez pas avez pour utiliser la syntaxe espace dans YAML. Toutes les structures de données ont également des alternatives non-blanches, par ex. les séquences [1, 2, 3]
et les cartes { key: value, k: v }
. Ceci est appelé flow style par opposition à style de bloc.
Une alternative peut être JSON, qui est en fait un sous-ensemble de YAML. C'est fondamentalement YAML sans style de bloc et sans extensibilité.
La syntaxe de liste Lisp standard (liste délimitée par des parenthèses, éléments séparés par des espaces) est également un très bon format.
2
Je recommande de vérifier TOML. Non sensible à la casse, mais néanmoins résoudre tous les problèmes avec la complexité dans YAML.
Pour quel type de données? Et quels cas d'utilisation? –
Une certaine configuration, une sérialisation de certains objets pour une utilisation ultérieure. Le plus gros problème est que les gens modifient le yaml et ajoutent des espaces (onglets) qui cassent le fichier. Je peux habituellement le réparer, mais je ne veux pas tenir les autres. – Joshua
C'est vraiment intéressant: l'indentation YAML le rend facile à lire, mais plus difficile à écrire. Le même problème arrive avec Python et make. Mais avec Python, vous obtenez une erreur de syntaxe dès que vous compilez - ce qui peut ne pas arriver avec les fichiers de données. Peut-être une solution est un simple vérificateur de syntaxe YAML pour les développeurs à utiliser? c'est à dire. cela ne fait absolument rien mais vérifie la syntaxe. – 13ren