Frage

Warum sollte ich einen Menschen lesbaren Dateiformat bevorzugt auf eine binäre Eins verwenden? Gibt es überhaupt eine Situation, wenn dies nicht der Fall ist?

EDIT: Ich tat dies als Erklärung haben, wenn zunächst die Frage der Veröffentlichung, aber es ist nicht so relevant jetzt:

Bei der Beantwortung von diese Frage ich die Fragesteller zu einem Standard-SO beantworten, warum mit einer für Menschen lesbare Datei verweisen wollte Format ist eine gute Idee. Dann suchte ich nach einem und nicht finden kann. Also hier ist die Frage

War es hilfreich?

Lösung

Es hängt

Die richtige Antwort ist es hängt davon ab. Wenn Sie Audio- / Videodaten zum Beispiel schreiben, wenn Sie es in ein für Menschen lesbares Format Brecheisen, wird es nicht sehr gut lesbar sein! Und Word-Dokumente sind das klassische Beispiel, wo die Menschen gewünscht haben sie lesbar, so flexibler Mensch waren, und auf XML MS bewegt werden auf diese Weise.

Viel wichtiger als Binär- oder Text ist ein Standard oder kein Standard. Wenn Sie ein Standardformat verwenden, dann stehen die Chancen, Sie und der nächste Mann muss nicht einen Parser schreiben, und das ist ein Gewinn für alle.

Im Anschluss daran sind einige eigenwillige Gründe, warum Sie vielleicht einen über den anderen zu wählen, wenn Sie Ihr eigenes Format (und Parser) schreiben müssen.

Warum Menschen lesbare benutzen?

  1. Der nächste Typ . Betrachten wir die Aufrechterhaltung Entwickler bei Ihrem Code suchen 30 Jahre oder sechs Monaten. Ja, er sollte den Quellcode haben. Ja, er sollte die Dokumente haben und die Kommentare. Aber er wird sehr wahrscheinlich nicht. Und der Kerl gewesen und hatte alt zu retten oder zu konvertieren, extrem wertvolle Daten, werde ich Ihnen danken, dass sie etwas für die Herstellung kann ich nur sehen und verstehen.
  2. Lassen Sie mich lesen und schreiben es mit eigenen Tools . Wenn ich ein Emacs-Benutzer bin, kann ich diese verwenden. Oder Vim oder Notizblock oder ... Auch wenn Sie große Werkzeuge oder Bibliotheken erstellt haben, können sie nicht auf meiner Plattform laufen oder sogar überhaupt nicht mehr laufen. Außerdem kann ich dann neue Daten mit meinen Tool erstellen.
  3. Die Steuer ist nicht so groß - Lagerung ist frei . Fast immer Scheibenraum ist frei. Und wenn es nicht wissen Sie. Sie nicht über ein paar spitzen Klammern oder Komma Sorge, in der Regel wird es nicht so viel Unterschied machen. Vorzeitige Optimierung ist die Wurzel aller Übel. Und wenn Sie wirklich besorgt sind nur ein Standard-Kompressions-Tool verwenden, und dann haben Sie einen kleinen Menschen lesbaren Format - jeder unzip laufen kann
  4. .
  5. Die Steuer ist nicht so groß - Computer sind schnell . Es könnte ein schneller binär zu analysieren. Bis Sie benötigen eine zusätzliche Spalte oder Datentyp hinzugefügt werden, oder beide Erbe und neue Dateien zu unterstützen. (Obwohl dies mit Protocol Buffers abgemildert wird )
  6. Es gibt da draußen viele gute Formate . Auch wenn Sie nicht über XML mögen. Versuchen Sie CSV. Oder JSON. Oder .properties. Oder auch XML. Viele Werkzeuge gibt es für diese bereits in vielen Sprachen Parsen. Und es dauert nur 5 Minuten, sie wieder zu schreiben, wenn auf mysteriöse Weise der ganze Quellcode verloren geht.
  7. Diffs werden einfach . Wenn Sie in der Versionskontrolle überprüfen, ist es viel einfacher, zu sehen, was sich geändert hat. Und es im Web anzuzeigen. Oder Ihr iPhone. Binary, wissen Sie etwas hat sich verändert, aber sie verlassen sich auf die Kommentare, die Sie was zu sagen.
  8. verschmilzt einfach geworden . Sie erhalten immer noch Fragen, die im Internet zu fragen, wie ein PDF zu einem anderen anzuhängen. Dies geschieht nicht mit Text.
  9. einfacher zu reparieren, wenn beschädigt . Versuchen Sie, und repariert ein beschädigtes Text-Dokument gegen ein korruptes Zip-Archiv. Genug gesagt.
  10. Jede Sprache (und Plattform) kann es lesen oder schreiben. Natürlich binär ist die Muttersprache für Computer, so wird jede Sprache binär zu unterstützen. Aber viele der klassischen kleinen Tool Skriptsprachen arbeiten viel besser mit Textdaten. Ich kann nicht glauben, von einer Sprache, die gut mit binärem arbeitet und nicht mit Text (Assembler vielleicht), aber nicht umgekehrt. Und das bedeutet, dass Ihre Programme mit anderen Programmen interagieren können Sie noch nicht einmal gedacht, oder dass 30 Jahre geschrieben wurden vor Ihnen. Es gibt Gründe, Unix erfolgreich war.

Warum nicht, und binär stattdessen verwenden?

  1. Sie könnten eine Menge Daten haben - Terabyte vielleicht. Und dann könnte ein Faktor von 2 wirklich wichtig ist. Aber vorzeitige Optimierung ist immer noch die Wurzel aller Übel. Wie wäre es verwenden, um ein menschliches jetzt und später konvertieren? Es wird nicht viel Zeit in Anspruch nehmen.
  2. Speicher könnte frei sein, aber die Bandbreite ist nicht (Jon Skeet in den Kommentaren). Wenn Sie Dateien im Netzwerk werfen dann kann Größe wirklich einen Unterschied machen. Auch Bandbreite und von der Scheibe kann ein limitierender Faktor sein.
  3. Wirklich Leistung intensiver Code . Binary kann ernsthaft optimiert werden. Es gibt einen Grund Datenbanken normalerweise nicht ihr eigenes Textformat hat.
  4. Ein binäres Format kann der Standard sein. So PNG, MP3 oder MPEG verwenden. Es macht die nächsten Jungs Arbeit leichter (für mindestens die nächsten 10 Jahre).
  5. Es gibt viele gute Binärformaten da draußen . Einige sind globale Standards für diese Art von Daten. Oder vielleicht ein Standard für Hardware-Geräte sein. Einige sind Standard-Serialisierung-Frameworks. Ein gutes Beispiel ist Google Protocol Buffers . Ein weiteres Beispiel: Bencode
  6. Einfachere einzubetten binäre . Einige Daten bereits binär und Sie müssen es einzubetten. Dies funktioniert natürlich in Binärdateiformate, aber sieht hässlich aus und ist sehr ineffizient in für Menschen lesbar diejenigen, und in der Regel verhindert, dass sie zu seinen Menschen lesbar.
  7. Absichtliche Unklarheit . Manchmal wollen Sie nicht es auf der Hand, was Ihre Daten tun. Die Verschlüsselung ist besser als zufällige Sicherheit durch Unklarheit, aber wenn Sie verschlüsseln Sie könnte genauso gut machen es binär und mit ihm getan werden.

Debatable

  1. Einfacher zu analysieren . Die Leute haben behauptet, dass sowohl Text als auch binär sind einfacher zu analysieren. Jetzt klar am einfachsten zu analysieren ist, wenn Sie die Sprache oder Bibliothek Parsing unterstützt, und dies gilt für einige binäre und einige Menschen lesbaren Formate, ist so auch nicht wirklich unterstützen. Binärformaten eindeutig gewählt werden, so dass sie leicht zu analysieren sind, aber so können Menschen lesbaren (man denke CSV oder feste Breite), damit ich denke, dieser Punkt strittig ist. Einige Binärformaten können nur in den Speicher deponiert werden und verwendet wie es ist, so ist dies gesagt werden könnte, die am einfachsten zu sein, zu analysieren, vor allem, wenn Zahlen (nicht nur Zeichenketten beteiligt sind. Aber ich denke, die meisten Menschen menschlich argumentieren würde lesbar Parsen einfacher zu debuggen ist , da es einfacher ist, zu sehen, was in dem Debugger vor sich geht (leicht).
  2. einfacher steuern . Ja, es ist wahrscheinlicher, jemand Textdaten in ihrem Editor mangle wird, oder wird stöhnen, wenn ein Unicode-Format arbeitet und der andere nicht. Mit binären Daten ist, dass weniger wahrscheinlich. Allerdings können Menschen und Hardware noch binäre Daten mangle. Und Sie können (und sollten) geben Sie eine Textkodierung für den Menschen lesbaren Daten, entweder flexibel oder fest.

Am Ende des Tages, ich glaube auch nicht wirklich einen Vorteil hier behaupten kann.

Alles andere

Sind Sie sicher, dass Sie wirklich eine Datei wollen? Haben Sie eine Datenbank in Betracht gezogen? : -)

Impressum

Viele dieser Antwort verschmilzt zusammen Zeug andere Menschen in anderen Antworten geschrieben (Sie können sie dort sehen). Und besonders großer Dank an Jon Skeet für seine Kommentare (sowohl hier als auch offline) nach Möglichkeiten, was darauf hindeutet, es verbessert werden könnte.

Andere Tipps

Es hängt ganz von der Situation ab.

Die Vorteile eines Menschen lesbaren Format:

  • Sie können es in seinem "nativen" Format lesen
  • Sie können es selbst schreiben, z.B. für Unit-Tests - oder sogar für wirklichen Inhalt, je nachdem, was es für

Mögliche Vorteile eines binären Format:

  • Einfacher zu analysieren (in Form von Code)
  • Schneller analysieren
  • Effizientere in Bezug auf Raum
  • Einfacher zu steuern (jedes Mal, wenn Sie Text in es benötigen, können Sie es UTF-8 kodierten gewährleisten und Länge Präfix usw.)
  • Einfacher zu undurchsichtigen Binärdaten effizient (Bilder, etc. - mit einem Textformat, das Sie in base64 würden bekommen) ist

Vergessen Sie nicht, dass Sie immer ein binäres Format umsetzen können aber Werkzeuge produzieren als auch zu / von einem Menschen lesbaren Format zu konvertieren. Das ist, was der Protocol Buffers Rahmen tut -. Es ist eigentlich ziemlich selten IME benötigt eine Textversion eines Protokollpuffers zu analysieren, aber es ist wirklich praktisch, um es als Text schreiben

EDIT: Gerade falls dies endet eine akzeptierte Antwort zu sein, sollten Sie auch bedenken, der Punkt gemacht durch starblue : Human lesbare Formen sind viel besser für diffing. Ich vermute, es wäre möglich, ein binäres Format zu entwerfen, die für diffing geeignet ist (und wo ein menschenlesbare diff erzeugt werden könnte), aber out-of-the-box-Unterstützung von bestehenden diff Tool für Text besser sein.

Versionskontrolle ist einfacher, mit Textformaten, da Änderungen leicht eingesehen werden können und zusammengeführt.

Vor allem MS-Word gibt uns Leid in dieser Hinsicht.

  • Öffnen Format - kein binäres Bit Jonglieren
  • Ablesbarkeit:)
  • Austausch zwischen verschiedenen Plattformen
  • Debugging-Hilfe
  • Sie leicht analysiert (und leicht umgewandelt jede Format)

Ein wichtiger Punkt: Sie einen Parser einmal schreiben, aber die Ausgabe viele Male gelesen. Diese Art von kippt das Gleichgewicht zugunsten von HRF.

Ein wesentlicher Grund ist, dass wenn jemand die Daten sagen lesen muß, 30 Jahre ab jetzt, kann Menschen lesbares Format herausgefunden werden. Binary ist viel schwieriger.

Wenn Ihre große Datenmengen, die von Natur aus binär sind (zum Beispiel Bilder), können sie offenbar nicht in einem anderen als binärer Form gespeichert werden. Aber selbst dann könnte die Metadaten (und sollten!) Sein in lesbarer Form.

Es gibt etwas namens Die Kunst der Unix-Programmierung .

Ich will nicht sagen, dass es gut oder schlecht ist, aber es ist ziemlich berühmt. Es hat einen genannt ganzes Kapitel rel="noreferrer"> in dem der Autor behauptet dass Menschen lesbares Dateiformat ist ein wichtiger Bestandteil der Unix Art der Programmierung.

Sie öffnen die Möglichkeit, mit anderen Werkzeugen als die Originale erstellt / bearbeitet werden. Neue und bessere Werkzeuge können durch andere, die Integration in Anwendungen von Drittanbietern möglich entwickelt werden. Denken Sie über binäre iCal-Dateien, zum Beispiel - würde das Format ein Erfolg gewesen sein

Ansonsten:. Die Menschen lesbare Dateien verbessern die Fähigkeit oder zu debuggen, für den versierten Benutzer, zumindest findet den Grund einen Fehler

Pros für binary:

  • schnell zu analysieren
  • im Allgemeinen kleinere Daten
  • einfach einen Parser für
  • schreiben

Pros für Menschen lesbaren:

  • leichter verstehen beim Lesen - kein „Feld X bis 4 487 gesetzt ist, was bedeutet, dass der Reaktor jetzt heruntergefahren werden sollte“
  • , wenn mit so etwas wie XML einfach ein Tool zu schreiben, die jede Datei analysieren wird

Ich habe mit beiden Typen zu tun hatte. Wenn Sie Daten senden und Sie wollen es klein halten binär ist gut. Wenn man die Leute erwarten, dass es dann den Menschen lesbaren zu lesen ist gut.

die Menschen lesbare im Allgemeinen etwas ebenso selbstdokumentiere. Und mit binären ist es bery einfach, Fehler zu machen -. Und schwer, um sie vor Ort

  • Editierbare
  • Lesbare (duh!)
  • Druck
  • Notepad und vi aktiviert

Am wichtigsten ist, kann ihre Funktion vom Inhalt decuded werden (na ja meistens)

Weil Sie ein Mensch ist, und früher oder später (oder einer Ihrer Kunden) in der Lage, die Daten zu lesen.

Wir verwenden nur Binärformat, wenn die Geschwindigkeit ist ein Problem. Und selbst dann ist das Debuggen lästig, so haben wir einen Menschen lesbaren Äquivalent.

Die Interoperabilität ist das Standardargument, das heißt eine lesbare Form ist einfacher für Entwickler von unterschiedlichen Systemen mit so behandeln daher einen Vorteile verleiht.

Ich persönlich denke, dass das nicht wahr ist, und die Leistung benfits von binären Dateien sollte dieses Argument schlagen, vor allem, wenn Sie Ihr Protokoll veröffentlichen. Jedoch ist die Allgegenwärtigkeit von XML / HTTP-basierten Frameworks für Maschine-Interaktionen bedeutet, dass es einfacher ist, zu übernehmen.

XML wird Art und Weise über verwendet werden.

Nur eine kurze Darstellung, wo Menschen lesbaren Dokumentenformat eine bessere Wahl sein kann:

verwendet, um Dokumente für die Bereitstellung von Anwendung in der Produktion

Wir haben in unsere Release Notes haben im Word-Format, aber das Release Notes Dokument hatte auf verschiedene Umgebung (Linux, Solaris) in der Vorproduktion und Produktion Plateform geöffnet werden.
Es hatte auch um analysiert werden, um verschiedene Daten zu extrahieren.

Am Ende wechselten wir zu einer wiki-basierten Syntax angezeigt noch gut in HTML durch ein Wiki, aber nach wie vor als eine einfache Textdatei in anderen Situationen verwendet wird.

Niemand sagte, so werde ich: Mensch-Lesbarkeit nicht wirklich eine Eigenschaft eines Dateiformates ist (alle Dateien sind binär, nachdem alle), sondern von einem Dateiformat und Viewer-App Kombination.

Sogenannte Menschen lesbare Formate sind alle auf der zusätzlichen Abstraktionsschicht eines bestehenden Textcodierungen basiert. Und Zuschauer Programme (oft auch als Redakteur dient), die zum Rendern dieser Codierungen in einer Form, die von Menschen lesbaren fähig sind, sind sehr häufig.

Textcodierungsstandards sind weit verbreitet und ziemlich ausgereift, was bedeutet, sie sind unwahrscheinlich, dass viel in absehbarer Zukunft zu entwickeln.

Normalerweise auf der Oberseite der Textkodierung Schicht des Formats

finden wir eine Syntax-Schicht, die einigermaßen intuitiv gegebenen Zielanwenderwissen und kultureller Hintergrund.

Damit die Vorteile von „Menschen lesbaren“ Formate:

  • Ubiquity geeigneten Viewer und Editoren.

  • Zeitlosigkeit (vorausgesetzt, dass kulturelle Konventionen ändern nicht viel).

  • Easiness erfahren, lesen und ändern.

Das Vertrauen auf die zusätzliche Abstraktionsschicht macht Text codierte Dateien:

  • Space hungrig.

  • Langsamer zu verarbeiten.

„Binary“ Dateien zurückgreifen nicht Abstraktionsschicht als Basis-Textcodierung (oder einen gemeinsamen Nenner), aber sie kann oder auch nicht irgendeine Art einer zusätzlichen Abstraktion besser geeignet für ihre Zwecke nutzen, und daher kann sie viel sein besser für eine bestimmte Aufgabe in der Hand Bedeutung optimiert:

  • Schnellere Verarbeitung.

  • Geringerer Platzbedarf.

Auf der anderen Seite:

  • Betrachter und Editoren sind spezifisch für ein bestimmtes binäres Format und machen Interoperabilität härter.

  • Betrachter für einen bestimmten Format ist weniger weit verbreitet, weil sie spezialisiert sind.

  • Formate könnten erheblich entwickeln oder aus der Nutzung im Laufe der Zeit gehen. Ihren größten Vorteil in für eine bestimmte Aufgabe sehr gut geeignet zu sein und als die Aufgabe oder Aufgabenanforderungen entwickeln, so auch das Format

Nehmen Sie einen Moment und denken über andere Anwendung als Web-Entwicklung.

Die Annahme, dass: A) Es hat eine Bedeutung, die „offensichtlich“ im Textformat ist falsch. Dinge wie Steuersysteme für ein Stahlwerk oder Fertigungsanlage haben keine Regel keinen Vorteil in lesbarer zu sein. Die Software für diese Art von Umgebungen typischerweise Routinen Daten in einem grafisch sinnvoll angezeigt werden soll.

B) es in Text Ausgabe ist einfacher. Unnötige Konvertierungen, die tatsächlich mehr Code erforderlich macht ein System weniger robust. Die Tatsache der Angelegenheit, wenn Sie nicht in einer Sprache, die alle Variablen als Strings behandelt dann den Menschen lesbaren Text ist eine zusätzliche Konvertierung. I.E. Extra-Code bedeutet mehr Code überprüft werden, getestet und mehr Möglichkeiten, Fehler in der Anwendung zu intro.

C) Sie müssen es trotzdem analysieren. Es vielen Fällen für DSP-Systeme, die ich gearbeitet habe (das heißt kein Mensch lesbare Schnittstelle zu beginnen.) Die Daten werden in gleichmäßig große Pakete aus dem System gestreamt. Protokollierung der Daten für die Analyse und die spätere Verarbeitung ist einfach eine Frage der zu Beginn eines Puffers zeigt und ein Vielfaches der Blockgröße auf dem Datenlogger-System zu schreiben. Dies ermöglicht es mir, die Analyse der Daten „unangetastet“, wie das System des Kunden würde es sehen, wo noch einmal, es in ein anderes Format konvertieren in möglicherweise die Einführung Fehlern führen würde. Nicht nur, dass, wenn Sie nur die „umgewandelten Daten“ speichern Sie Informationen in der Übersetzung verlieren können, dass Sie ein Problem diagnostizieren kann helfen.

D) Text ist ein Natural-Format für die Daten. Keine Hardware, die ich je gesehen habe verwendet einen „TEXT“ Schnittstelle. (Mein erster Job nach dem College wurde einen Gerätetreiber für eine Kamera-Zeilenkamera zu schreiben.) Das System über baut es MACHT tut, sondern für jeden „PC“.

Für Web-Seiten, auf denen die Informationen eine „natürliche“ hat im Textformat bedeutet, so sicher, sich knock out. Für Quellcode Verarbeitung ist es ein Klacks, natürlich. Aber die Pervasive-Computing-Umgebungen, in denen auch Sie Kühlschrank und ZAHNBüRSTE werden einen Prozessor eingebaut haben, nicht so sehr. Einfach zu belasten diese Art von Systemen mit dem Overhead des Hinzufügen der Fähigkeit, Text führt unnessary Komplexität zu verarbeiten. Sie gehen zu verknüpfen „printf“ nicht in die Software für ein 8-Bit-Mikro, die eine Maus steuert. (Und ja, hat jemand zu, dass die Software zu schreiben.)

Die Welt ist kein Schwarz-Weiß-Platz, wo die einzigen Formen der Computer, die PCs und Web-Server sind überlegen sein müssen.

Auch auf einem PC, wenn ich direkt auf die Daten direkt in eine Datenstruktur unter Verwendung eines einzigen O Leseaufruf laden und damit ohne Schrift serialize und Deserialisieren Routinen durchgeführt werden, das ist fantastisch, überprüfen Blöcke CRC Job - fertig auf das nächste Problem.

Ähm ... weil Menschen lesbare Dateiformate können von Menschen gelesen werden? Es scheint wie ein ziemlich guter Grund für mich.

(Na ja, für Konfigurationsdateien ist es unvermeidlich, dass sie gelesen werden (und bearbeitet!) Durch den Menschen. Dateien für persistente Speicherung von einer Art oder die andere nicht wirklich lesen oder vom Menschen bearbeitet werden müssen.)

  

Warum sollte ich eine für Menschen lesbare Datei   Format bevorzugt auf eine binäre Eins?   Gibt es überhaupt eine Situation, wenn diese   nicht der Fall ist?

Ja, Druckvolumen (zip, JPEG, MP3, etc.) wäre suboptimal, wenn sie den Menschen lesbaren waren.

Ich denke, es ist nicht gut in den meisten Fällen wahrscheinlich. Ich denke, der Hauptgrund für diese Formate wie JSON und XML, weil der Web-Entwicklung ist und die allgemeine Nutzung über das Internet, wo Sie in der Lage sein müssen Daten auf der Anwenderseite zu verarbeiten und man kann nicht notwendigerweise binär lesen. Ein gutes Beispiel für einen schlechten Fall eine lesbare Form zu verwenden, würde irgend etwas nicht textliche wie Bilder sein, Video, Audio. Ive bemerkte die Verwendung von nicht-Binärformaten in Web-Entwicklung verwendet werden, wo es keinen Sinn macht, ich fühle mich schuldig!

Dateien Oft werden Teil Ihrer menschlichen Schnittstelle so sollten sie menschlich freundlich (nicht Programmierer nur)

Das einzige Mal, dass ich einen binären Strom für Dateien verwenden, die nicht Archive sind, wenn ich die Dinge aus dem zufälligen Beobachter verbergen wollen. wenn ich temporäre Dateien zum Beispiel mache, dass nur sollte meine Bewerbung bearbeiten wird, werde ich binäre verwenden.

Es ist nicht ein Versuch, zu verschleiern, sondern es ist nur den Benutzer entmutigend aus der Bearbeitung die Datei mit der Hand (die die Anwendung brechen könnte).

Ein Beispiel, wo dies eine gute Idee wäre, ist das Speichern / Speicher über einige Spiele laufen Daten .. das heißt, Ihr Spiel zu speichern und später fortsetzen. Andere Szenarien würden Zwischendateien beschreiben, aber die sind in der Regel binär / Byte kompilierte trotzdem.

  

Warum sollte ich eine für Menschen lesbare Datei   Format bevorzugt auf eine binäre Eins?

Abhängig vom Inhalt und Kontext, das heißt, wo die Daten kommen aus und gehen. Wenn die Daten in der Regel von einem Menschen direkt geschrieben wird, ist es in einem Format zu speichern, die über einen Texteditor bearbeitet werden können, ist eine gute Idee. Zum Beispiel Code Programmquelle wird in der Regel als Menschen lesbaren mit gutem Grunde gespeichert werden. Wenn wir jedoch sind seine Archivierung, oder teilen sie ein Versionskontrollsystem verwenden, unsere Storage-Strategie wird sich ändern.

Das menschliche Format simplier zu Analyse und Fehlersuche ist, wenn Sie ein Problem mit einem Feld (Beispiel: ein Feld enthält eine Nummer, wo die Spezifikation sagt die dieses Feld eine Zeichenfolge sein muss) haben, auch das menschliche Format Closier zu Domäne Problem dar.

Ich ziehe das Binärformat mit vielen Daten und ich bin sicher, dass ich über die Software für das Parsen von ihm:)

Wenn Fielding Dissertation über REST lesen, ich mochte das Konzept des " Architektureigenschaften "; eine, die war „Sichtbarkeit“ klebte. Das ist, was wir hier reden: in der Lage zu ‚sehen‘, die Daten. Enorme Vorteile beim Debuggen des Systems.

Einen Aspekt, der finde ich in den anderen Antworten fehlen: Erzwingen Semantik .

Von dem Moment für Menschen lesbaren gehen, können Sie die dummen Notizblock Benutzerdaten erstellen, in das System eingespeist werden. Keine Möglichkeit, diese Daten zu gewährleisten Sinn macht. Keine Möglichkeit, das System zu gewährleisten, wird in einer vernünftigen Art und Weise zu reagieren.

So im Fall brauchen Sie nicht zu Notizblock-überprüfen Sie Ihre Daten, und Sie mögen gültige Daten erzwingen (beispielsweise durch Verwendung eines API), anstatt es zuerst die Validierung, sollten Sie besser die Menschen lesbare Daten zu vermeiden. Wenn debuggeability ein Problem ist (es am häufigsten ist), Überprüfung der Daten kann mit Hilfe der API auch durchgeführt werden.

Menschliche lesbar ist einfacher nicht gleich von Maschinencode analysiert werden.

Nehmen Sie die menschliche natürliche Sprache als Beispiel. :) Maschine Parsing der menschlichen Sprache ist nach wie vor ein anstehendes Problem vollständig gelöst werden.

Also ich stimme mit https://stackoverflow.com/a/714111/2727173 die viel tieferen Einblick hat auf diese Frage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top