Que signifie «lisible par l'homme»? Est-ce un abus de langage?


12

Deux exemples me viennent à 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 les fichiers .config sont XML et donc lisibles 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 l'homme? Dans l'exemple des données de configuration:

  1. Le format ne change 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 sous forme de séries 0 et 1. Dans cette mesure, la représentation sous-jacente est également illisible par l'homme.
  3. Le registre et le fichier .config nécessitent un outil pour lire, formater et afficher ces 0 et 1 et les convertir en un format que les humains peuvent lire. Dans le cas d'une configuration stockée dans le registre Windows, il s'agit d'un éditeur de registre. Dans le cas de XML, il peut s'agir d'un éditeur de texte ou d'un lecteur XML. Quoi qu'il en soit, l'outil rend les données lisibles, pas le format des données.

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


3
Cela dépend si la définition de "humain" est limitée aux programmeurs / etc, ou s'applique à tous les humains (si ces derniers, alors presque tous les formats échouent probablement à des degrés divers).
Peter Boughton

7
Le seul format de sérialisation lisible par l'homme est YAML . XML me donne envie de m'arracher les yeux.
NullUserException

Réponses:


35

Lisible par l'homme signifie essentiellement que si le contenu est affiché par un programme qui ne connaît pas directement et spécifiquement le format de ce fichier, il y a au moins une chance raisonnable qu'une personne puisse en lire et comprendre au moins une partie.

Votre point de base sur le manque d'une ligne de délimitation claire est tout à fait correct - à une époque, je connaissais un gars qui pouvait diagnostiquer des problèmes avec des programmes (principalement écrits en Fortran) souvent en cinq minutes ou moins - en ne passant que d'un octal vidage de mémoire, sans regarder du tout le code source. Pour la plupart des gens, ce format ne serait guère qualifié de "lisible par l'homme", mais il était évidemment une exception ...


14
+1: Tout est «lisible par l'homme» avec suffisamment d'effort. Le sens de facto de "lisible par l'homme" dans les ordinateurs est: texte brut, non structuré ou une structure composée uniquement de caractères textuels.
Allon Guralnek

35

Lisible par l'homme signifie que je peux ouvrir la chose dans le Bloc-notes si je le souhaite et changer "mot de passe = foo" en "mot de passe = bar" si je le souhaite. Je n'ai pas besoin d'utiliser un outil propriétaire pour consulter ou modifier le contenu.

Contrairement à un PDF que 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 d'il y a 25 ans que vous ne pouvez pas lire, modifier ou comprendre.


Considérez-vous que RTF est lisible par l'homme?
Peter Boughton

7
RTF est lisible par programmeur :-). Je l'ai édité à la main mais ce n'était pas agréable. XML est certainement moins lisible par l'homme que JSON. Cela dépend en grande partie de ce à quoi vos humains sont habitués - beaucoup des miens préfèrent .csv à XML, mais je ne le pense pas!
Kate Gregory

3
Vous ne pourrez peut-être pas modifier un fichier lisible par l'homme. J'en ai vu beaucoup où le contenu est lisible par l'homme, mais il peut y avoir un champ de vérification avec, par exemple, une valeur de paramètre hexadécimale qui n'est pas facilement calculable et basée sur le contenu du fichier. Cette valeur est utilisée par l'application pour la validation de fichier.
u

6
Bon point @Ian - puisque nous discutons de la terminologie, nous devons distinguer entre lisible par l'homme et modifiable par l'homme. Les deux sont de bonnes choses à être, à mon avis.
Kate Gregory

Je soutiens votre affirmation selon laquelle JSon est beaucoup plus modifiable par l'homme (et lisible) que xml, ne serait-ce que parce que les entités xml sont juste une telle douleur.
Matthieu M.

10

En réponse à votre question "Les formats lisibles par l'homme sont-ils réellement lisibles par les humains", par définition oui, c'est ce que cela signifie.

Il n'y a pas de définition technique de lisible par l'homme, elle est subjective et il peut y avoir des questions sur le niveau de connaissances que l'homme devrait avoir besoin pour se qualifier (par exemple, doit-il comprendre les principes de base de XML tels que les balises et les hiérarchies , devraient-ils comprendre le domaine d'activité dans lequel les données existent - personnellement, je dirais oui aux deux), mais votre test de base devrait être si je le montrais à quelqu'un ayant des compétences techniques de base qui comprenait les bases de ce que les données étaient censées représenter , peuvent-ils le lire.

Sur le plan pratique, cela signifie généralement ce qui suit:

1) Les données sont stockées sous forme de texte ASCII ou d'un autre format similaire commun et facilement reconnaissable

2) Qu'il existe une structure raisonnable qui ressort de l'examen de base. Par exemple, vous n'avez pas besoin de savoir que les premiers X caractères liés à Y, puis les X suivants se rapportent à Z

3) Que les données et les métadonnées sont généralement en anglais (ou quelle que soit votre langue locale) et ne nécessitent qu'une connaissance limitée du domaine problématique à comprendre. uDef_Inbr "

4) Pour les données non textuelles sensibles, des conventions prévisibles ont été utilisées (par exemple VRAI, FAUX, Y, N, 1, 0 plutôt que quelque chose de plus ouvert à l'interprétation)


5

Les fichiers .config 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 d'apporter des modifications sans ouvrir la possibilité de modifier quelque chose qui affectera d'autres programmes.


5

Tout est question de facilité de compréhension (et de changement probable). Alors "X est-il lisible par l'homme?" ne devrait pas être répondu par un «oui» ou un «non». Au contraire, la réponse devrait être le long d'une sorte d'échelle mobile.

Exemples potentiels:

  • 90% des programmeurs pouvaient lire et modifier le fichier avec n'importe quel éditeur de texte courant.
  • 60% des anglophones pouvaient lire le fichier avec n'importe quel éditeur de texte courant.
  • 80% des développeurs XYZ ont pu lire et modifier le fichier, mais uniquement en utilisant l'outil ZYX.
  • 10% des développeurs YZX pouvaient lire et modifier ce fichier avec un éditeur de texte commun.

En dehors d'un contexte qui explique ce que signifie «lisible par l'homme», la phrase n'aide pas beaucoup. (Un humain quelque part peut probablement lire n'importe quel format, si vous ne comptez pas essayer de regarder la polarité magnétique des bits matériels eux-mêmes ...)


4

Une grande différence entre les formats lisibles par l'homme et les formats non lisibles par l'homme est la robustesse. Dans un système Linux, toutes sortes d'informations seront dispersées dans divers fichiers texte. Vous devez savoir où ils se trouvent, mais vous pouvez toujours trouver les informations et les lire et les modifier 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 déterminer ce qu'il devrait être et le corriger.

Dans un système MS Windows, la plupart de ces informations se trouveront dans le Registre, qui est, du point de vue des utilisateurs, un grand système opaque, accessible en partie via 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. S'il se casse, rien ne peut être fait sans connaissances spécialisées.


1
Linux: "Vous devez savoir où ils se trouvent" vs Windows: "rien qui ne peut être fait sans connaissances spécialisées". Je dirais (en tant qu'utilisateur de nombreux systèmes d'exploitation distincts) qu'ils ont tous besoin de connaissances spécialisées. Savoir où modifier le registre pour résoudre un problème n'est pas plus (ou moins) complexe que de savoir quel fichier peut être modifié avec vi sur un système Linux ou Solaris.
Bevan

3

Les vérifications les plus simples auxquelles je puisse penser et qualifiées de «lisibles par l'homme» sont:

  • dans un emplacement / fichier facilement accessible par des éditeurs externes (cela rendrait le registre non "lisible par l'homme")
  • n'utilise pas de caractères non affichables dans la structure de données. Si je crée un document Word Office 2000 avec le texte "test" à l'intérieur, je pourrai peut-être l'ouvrir dans le bloc-notes et trouver les 4 caractères "test" quelque part à l'intérieur, mais il y aura beaucoup d'autres choses autour.
  • Bien que cela ne soit pas obligatoire, les formats qui contiennent des métadonnées descriptives sont un plus. Un fichier qui contient JohnSmith|34|T|Fest moins convivial que <User><Name>JohnSmith</Name><id>34</id><isActive>T</isActive><isAdmin>F</isAdmin></User>, car sachez quels sont les champs (au moins généralement) dans le 2ème.

2

Je pense que vous vous demandez peut-être si le terme «lisible par l'homme» est parfois incorrectement appliqué, et c'est certainement le cas. Dans l'exemple des entrées de registre par rapport aux fichiers .config, je pense qu'il est utile que vous puissiez organiser le XML de différentes manières en fonction des données, des commentaires entrecroisés, etc.

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

Vous pouvez également voir plus de données de configuration pour une application à la fois - avec regedit, pour voir quelque chose qui est dans une clé différente, vous devez naviguer vers cette clé, ce qui signifie que vous ne pouvez plus voir les entrées que vous regardiez précédemment. Avec les fichiers .config, vous pouvez voir l'intégralité du fichier à la fois, même si ce fichier peut contenir des données hiérarchiques.


Le registre est les deux. Il y en a des morceaux qui sont très lisibles, d'autres qui sont du charabia absolu pour n'importe qui sans connaissances assez spécialisées.
Jon Hopkins

Certes, et vous pourriez dire que certains fichiers .config ressemblent à du charabia. Notez que je ne pensais même pas aux informations de registre COM, je pensais aux paramètres d'application qui iraient dans le registre - un pair avec les paramètres que vous obtenez dans les fichiers .config. Je ne pense pas que quiconque ait l'intention que les informations COM soient lues par des êtres humains.
JohnL

2

Contraste "lisible par l'homme" avec binaire. Par exemple, vous ne pouvez généralement pas ouvrir un exécutable ou un index de base de données dans un éditeur de texte vanilla et comprendre quel est le contenu. Les octets en dessous de 32 décimaux n'ont même pas de représentations standard au niveau mondial en tant que caractères visibles.


1

Réponse courte: Cela signifie que les informations sont entrées sous forme de texte, plutôt que binaires ou hexadécimales, etc. Quelque chose qui équivaut à un «langage» lisible plutôt qu'à un «langage machine» informatique. Au-delà de cela, la définition devient trouble.


1

Cela s'applique également au code - vous structurez votre programme de manière logique et réfléchie de sorte que le travail de quiconque le regarde pour la première fois est rendu un peu plus facile.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.