it-swarm-fr.com

Que signifie "humain lisible"? Est-ce un abu?

Deux exemples de printemps à l'esprit:

  • L'une des raisons pour lesquelles les programmeurs .NET sont encouragés à utiliser des fichiers .config au lieu du registre Windows est que .Config Les fichiers sont XML et donc lisible par l'homme.

  • De même, JSON est parfois considéré comme lisible par l'homme par rapport à un format propriétaire.

Les formats lisibles par l'homme sont-ils réellement lisibles par des humains? Dans l'exemple des données de configuration:

  1. Le format ne modifie pas la signification sous-jacente de l'information - dans les deux cas, les données représentent la même chose.
  2. Le registre et le fichier .config sont stockés en interne en tant que série 0 et 1s. Dans cette mesure, la représentation sous-jacente est également illisible par les humains.
  3. Le registre et le fichier .config nécessitent un outil pour lire, formater et afficher ces 0 et 1s et les convertir en format que les humains peuvent lire. Dans le cas de la configuration stockée dans le registre Windows, il s'agit d'un éditeur de registre. Dans le cas de XML, il pourrait s'agir d'un éditeur de texte ou d'un lecteur XML. De toute façon, l'outil est lisible par les données et non le format de données.

Alors, quelle est la différence entre les formats de données lisibles à l'homme et les formats non liés à l'homme?

12
Kramii

L'homme lisible signifie fondamentalement que si le contenu est affiché par un programme qui manque de conscience directe et spécifique du format de ce fichier, qu'il existe au moins une chance raisonnable qu'une personne puisse lire et comprendre au moins une partie.

Votre point de base sur l'absence d'une ligne de délimitation claire est absolument correct, mais une fois une fois, je savais un gars qui pourrait diagnostiquer des problèmes avec des programmes (principalement écrits en Fortran) souvent dans cinq minutes ou moins - allant uniquement d'une octale Dump de base, sans regarder le code source du tout. Pour la plupart des gens, ce format serait à peine qualifié de "humain lisible", mais évidemment, il était une exception ...

35
Jerry Coffin

Human Lisible signifie que je peux ouvrir la chose dans le bloc-notes si je veux et changez "mot de passe = foo" à "mot de passe = bar" si je le désirais. Je n'ai pas besoin d'utiliser un outil propriétaire pour regarder ou éditer le contenu.

Contraste avec a PDF=== Si vous ne pouvez pas modifier avec un simple éditeur de texte - vous avez besoin d'un outil spécifique qui connaît le format. Ou un fichier binaire .dat fourni avec une application de 25 ans que vous ne peut pas lire, éditer ou comprendre.

35
Kate Gregory

.Config Les fichiers sont beaucoup plus faciles à modifier (pour la plupart des gens) que le registre. Il est plus facile d'ouvrir un fichier de configuration dédié, de trouver les données pertinentes et de modifier les modifications sans ouvrir la possibilité de modifier quelque chose qui affectera les autres programmes.

5
Bruce Alderman

Il s'agit de la facilité de compréhension (et de changer probablement). Donc "est X humain lisible?" ne devrait pas être répondu avec un "oui" ou un "non". La réponse devrait plutôt être le long d'une sorte de balance coulissante.

Exemples potentiels:

  • 90% des programmeurs pouvaient lire et modifier le fichier avec tout éditeur de texte commun.
  • 60% des anglophones pourraient lire le fichier avec tout éditeur de texte commun.
  • 80% des développeurs XYZ ont pu lire et modifier le fichier, mais uniquement à l'aide de l'outil ZYX.
  • 10% des développeurs YZX pourraient lire et modifier ce fichier avec un éditeur de texte commun.

En dehors d'un contexte qui explique ce que "lisible humain" signifie vraiment, la phrase ne vous aide pas beaucoup. (Certains humains peuvent probablement lire tous les formats, si vous ne comptez pas pour essayer de regarder la polarité magnétique des bits matériels eux-mêmes ...)

5
John Fisher

Une grande différence entre les formats lisibles par l'homme et les formats non liés à l'homme est la robustesse. Dans un système Linux, toutes sortes d'informations seront dispersées dans divers fichiers texte. Vous devez apprendre où ils sont, mais vous pouvez toujours trouver les informations et la lire et le changer avec un éditeur de texte. Si un fichier disparaît, vous pouvez généralement le remplacer. Si un fichier devient corrompu, vous pouvez souvent comprendre ce qu'il devrait être et le réparer.

Dans un système Windows MS Windows, la majeure partie de celle-ci sera dans le registre, qui est du point de vue des utilisateurs, un gros système opaque, accessible en partie par divers outils (un peu comme certains fichiers de configuration dans les systèmes Linux) et dans l'ensemble. avec un éditeur de registre. Tant que tout se passe bien, ça va. Si cela se casse, rien qui puisse être fait sans connaissances spécialisées.

4
David Thornley

Les chèques les plus faciles que je puissiez penser à ce que vous qualifiez de "lisible humain", c'est:

  • dans un lieu/fichier qui peut être facilement accessible par des éditeurs externes (cela rendrait le registre pas "humain lisible")
  • ne pas utiliser de caractères non afficables dans la structure de données. Si je fais un document Office 2000 Doc avec le texte "Test" à l'intérieur, je pourrais peut-être ouvrir cela dans le bloc-notes et trouver le "test" de 4 caractères quelque part à l'intérieur, mais il y aura beaucoup d'autres choses autour de lui.
  • Bien que non requis, les formats contenant des métadonnées descriptives sont un plus. Un fichier contenant JohnSmith|34|T|F est moins sympathique que <User><Name>JohnSmith</Name><id>34</id><isActive>T</isActive><isAdmin>F</isAdmin></User>, comme savoir ce que sont les champs (au moins généralement) au 2e.
3
Jason Viers

Contraste "humain lisible" avec binaire. Par exemple, vous ne pouvez généralement pas ouvrir un indice exécutable ou un indice de base de données dans un éditeur de texte de vanille et comprendre ce que le contenu est. Les octets sous la décimale 32 n'ont même pas de représentations standard globalement comme des caractères visibles.

2
Charles E. Grant

Je pense que vous pouvez demander si "lisible par l'homme" comme terme est parfois mal appliqué et non. Dans l'exemple des entrées de registre des fichiers VS .config, je pense que cela vous aide à organiser le XML de différentes manières en fonction des données, des commentaires intersperse et ainsi de suite.

Les collections dans les fichiers .config sont généralement traitées comme plusieurs éléments, tandis que c'est plus difficile dans le registre, souvent en tant que multi_sz.

Vous pouvez également voir plus de données de configuration pour une application à la fois - avec Regedit, pour voir quelque chose qui se trouve dans une clé différente, vous devez accéder à cette clé, ce qui signifie que vous ne pouvez plus voir les entrées que vous avez précédemment examinées. Avec des fichiers .config, vous pouvez voir l'ensemble du fichier à la fois, même si ce fichier peut contenir des données hiérarchiques.

2
JohnL

Réponse courte: Cela signifie que les informations sont entrées sous forme de texte, plutôt que binaire ou hexagonale, etc. Quelque chose qui équivaut à une "langue" lisible plutôt qu'à un ordinateur "langage de la machine". Au-delà de cela, la définition devient trouble.

1
Skatterbrainz

Il s'applique également au code - vous structurez votre programme de manière logique et réfléchie de manière à ce que le travail de quiconque le regardait pour la première fois soit un peu plus facile.

1
dodgy_coder