Si ta conf peut être générée/modifiée par une machine, ca va te créer des diffs très durs a lire.
Exactement, par exemple quand j’ai vu certains répondre que conserver l’ordre du dictionnaire est inutile "par principe" parce que forcément, par principe il n’y aurait aucun besoin pour cela... J’ai immédiatement pensé que ces personnes ne savaient pas vraiment ce que c’était de stocker des fichiers dans un dépôt (git ou autre chose).
Il est très important de pouvoir conserver l’ordre des données, ou de déterminer cet ordre, même si cet ordre n’a aucune sémantique pour les données elle-même. C’est important parce qu’il devient alors très aisé de versionner. Au delà de fichier de paramétrages dans git, va versionner un csv de millier de lignes si elles sont mélangées... alors que si l’ordre est conservé, un simple outil générique comme diff te sortira les différences en un temps record. Idem avec json, xml et je sais pas quoi.
La possibilité de conserver l’ordre est importante. J’ai remarqué que j’utilisais énormément OrderedDict dans Python, et quand il s’agit de traiter des données extérieures (pas des dictionnaires intégrés au code), j’ai remarqué que j’utilise OrderedDict de manière écrasante, par nécessité.
C’est d’ailleurs pourquoi par exemple quand je traite du TOML en python, j’utilise pytoml au lieu de python-toml. Je ne sais pas où ça en est maintenant, mais quand j’ai commencé à travailler sur Urcheon (un outil pour construire des dépôts de données, en gros un CMake mais pour des images, du son et des modèles 3D), seul pytoml permettait de spécifier le type de dictionnaire et donc de sortir un fichier de configuration qui conservait l’ordre de l’entrée, ou encore... très important dans ce cas, de traiter les opérations dans l’ordre de l’entrée... Je lis maintenant que pytoml est déprécié et recommand python-toml, il faudra que je réévalue python-toml et voir s’ils ont enfin implémenté la possibilité de forcer le constructeur de dictionnaire...
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: JSON? YAML?’
Posté par Thomas Debesse (site web personnel, Mastodon) . En réponse au journal En finir avec CSV ou Excel pour échanger des données. Évalué à 6.
Exactement, par exemple quand j’ai vu certains répondre que conserver l’ordre du dictionnaire est inutile "par principe" parce que forcément, par principe il n’y aurait aucun besoin pour cela... J’ai immédiatement pensé que ces personnes ne savaient pas vraiment ce que c’était de stocker des fichiers dans un dépôt (git ou autre chose).
Il est très important de pouvoir conserver l’ordre des données, ou de déterminer cet ordre, même si cet ordre n’a aucune sémantique pour les données elle-même. C’est important parce qu’il devient alors très aisé de versionner. Au delà de fichier de paramétrages dans git, va versionner un csv de millier de lignes si elles sont mélangées... alors que si l’ordre est conservé, un simple outil générique comme
diffte sortira les différences en un temps record. Idem avec json, xml et je sais pas quoi.La possibilité de conserver l’ordre est importante. J’ai remarqué que j’utilisais énormément
OrderedDictdans Python, et quand il s’agit de traiter des données extérieures (pas des dictionnaires intégrés au code), j’ai remarqué que j’utiliseOrderedDictde manière écrasante, par nécessité.C’est d’ailleurs pourquoi par exemple quand je traite du TOML en python, j’utilise pytoml au lieu de python-toml. Je ne sais pas où ça en est maintenant, mais quand j’ai commencé à travailler sur Urcheon (un outil pour construire des dépôts de données, en gros un CMake mais pour des images, du son et des modèles 3D), seul pytoml permettait de spécifier le type de dictionnaire et donc de sortir un fichier de configuration qui conservait l’ordre de l’entrée, ou encore... très important dans ce cas, de traiter les opérations dans l’ordre de l’entrée... Je lis maintenant que pytoml est déprécié et recommand python-toml, il faudra que je réévalue python-toml et voir s’ils ont enfin implémenté la possibilité de forcer le constructeur de dictionnaire...
ce commentaire est sous licence cc by 4 et précédentes