Apa artinya "Dapat Dibaca Manusia"? Apakah itu keliru?

13

Dua contoh muncul dalam pikiran:

  • Salah satu alasan mengapa pemrogram. Net didorong untuk menggunakan file .cig bukannya Windows Registry adalah bahwa file .cig adalah XML dan karenanya dapat dibaca oleh manusia.

  • Demikian pula, JSON kadang-kadang dianggap dapat dibaca manusia dibandingkan dengan format berpemilik.

Apakah format yang bisa dibaca manusia sebenarnya bisa dibaca oleh manusia? Dalam contoh data konfigurasi:

  1. Format tidak mengubah makna yang mendasari informasi - dalam kedua kasus, data mewakili hal yang sama.
  2. File registri dan .config disimpan secara internal sebagai seri 0s dan 1s. Sejauh itu, representasi yang mendasari sama-sama tidak dapat dibaca oleh manusia.
  3. Registri dan file .config memerlukan alat untuk membaca, memformat dan menampilkan 0s dan 1s dan mengubahnya menjadi format yang dapat dibaca manusia. Dalam hal konfigurasi yang disimpan dalam Windows Registry, ini adalah Registry Editor. Dalam kasus XML itu bisa berupa editor teks atau pembaca XML. Either way, alat ini membuat data dapat dibaca, bukan format data.

Jadi, apa perbedaan antara format data yang bisa dibaca manusia dan format yang tidak bisa dibaca manusia?

Kramii
sumber
3
Tergantung jika definisi "manusia" terbatas pada pemrogram / etc, atau berlaku untuk semua manusia (jika yang terakhir maka hampir semua format mungkin gagal pada derajat yang berbeda-beda).
Peter Boughton
7
Satu-satunya format serialisasi yang dapat dibaca manusia adalah YAML . XML membuat saya ingin mencungkil mata saya.
NullUserException

Jawaban:

35

Dapat dibaca manusia pada dasarnya berarti bahwa jika konten ditampilkan oleh program yang tidak memiliki kesadaran langsung dan spesifik tentang format file itu, bahwa setidaknya ada peluang yang masuk akal bahwa seseorang dapat membaca dan memahami setidaknya sebagian dari itu.

Poin dasar Anda tentang kurangnya garis penggambaran yang jelas benar-benar benar - pada suatu waktu saya mengenal seorang pria yang dapat mendiagnosis masalah dengan program (kebanyakan ditulis dalam Fortran) sering dalam lima menit atau kurang - hanya berjalan dari oktal dump inti, tanpa melihat kode sumber sama sekali. Bagi kebanyakan orang, format itu tidak akan memenuhi syarat sebagai "dapat dibaca manusia", tetapi jelas ia adalah pengecualian ...

Jerry Coffin
sumber
14
+1: Semuanya "dapat dibaca manusia" dengan upaya yang cukup. Arti de facto dari "dibaca manusia" di komputer adalah: teks biasa, tidak terstruktur atau beberapa struktur yang hanya terdiri dari karakter tekstual.
Allon Guralnek
35

Human Readable berarti saya dapat membuka barang itu di Notepad jika saya mau, dan mengubah "kata sandi = foo" menjadi "kata sandi = bar" jika saya menginginkannya. Saya tidak harus menggunakan alat berpemilik untuk melihat atau mengedit konten.

Berbeda dengan PDF yang tidak dapat Anda edit dengan editor teks sederhana - Anda memerlukan alat khusus yang mengetahui formatnya. Atau file biner .dat yang datang dengan beberapa aplikasi dari 25 tahun yang lalu yang tidak dapat Anda baca, edit, atau pahami.

Kate Gregory
sumber
Apakah Anda menganggap RTF dapat dibaca manusia?
Peter Boughton
7
RTF dapat dibaca oleh programmer :-). Saya telah mengeditnya secara manual tetapi itu tidak menyenangkan. XML jelas kurang bisa dibaca manusia daripada JSON. Banyak tergantung pada apa yang digunakan manusia Anda - banyak dari saya lebih suka .csv daripada XML, tapi saya yakin tidak!
Kate Gregory
3
Anda mungkin tidak dapat mengedit file yang dapat dibaca manusia. Saya telah melihat banyak di mana isinya dapat dibaca manusia tetapi mereka mungkin memiliki bidang centang dengan, misalnya, nilai parameter hex yang tidak mudah dihitung dan berdasarkan pada isi file. Nilai ini digunakan oleh aplikasi untuk validasi file.
u
6
Poin bagus @Ian - karena kita sedang membahas terminologi kita harus membedakan antara yang dapat dibaca manusia dan yang dapat diedit manusia. Keduanya adalah hal yang baik menurut saya.
Kate Gregory
Saya mendukung klaim Anda bahwa JSon jauh lebih dapat diedit oleh manusia (dan dapat dibaca) daripada xml, jika saja karena entitas xml hanya menyusahkan.
Matthieu M.
10

Menanggapi pertanyaan Anda, "Apakah format yang dapat dibaca manusia sebenarnya dapat dibaca oleh manusia", menurut definisi ya, itulah yang dapat dibaca manusia.

Tidak ada definisi teknis yang dapat dibaca manusia, itu subjektif dan mungkin ada pertanyaan tentang tingkat pengetahuan apa yang mungkin harus dimiliki manusia untuk memenuhi syarat (misalnya apakah mereka perlu memahami prinsip dasar XML yang sangat mendasar seperti tag dan hierarki , seandainya mereka memahami domain bisnis tempat data ada - secara pribadi saya akan mengatakan ya untuk keduanya) tetapi tes dasar Anda harus jika saya menunjukkannya kepada seseorang dengan keterampilan teknis dasar yang memahami dasar-dasar dari apa data dimaksudkan untuk mewakilinya. , bisakah mereka membacanya.

Pada tataran praktis ini umumnya berarti sebagai berikut:

1) Data disimpan sebagai teks ASCII atau format lain yang serupa dan mudah dikenali

2) Bahwa ada struktur yang masuk akal yang terbukti dengan sendirinya dari pemeriksaan dasar. Misalnya Anda tidak perlu tahu bahwa karakter X pertama terkait dengan Y, maka X berikutnya berhubungan dengan Z

3) Bahwa data dan meta data umumnya dalam bahasa Inggris (atau apa pun bahasa lokal Anda) dan hanya memerlukan pengetahuan terbatas tentang domain masalah untuk dipahami - sehingga nomor faktur akan berada dalam tag "invoiceNumber", bukan " uDef_Inbr "

4) Untuk data non-teks yang masuk akal, konvensi yang dapat diprediksi telah digunakan (misalnya TRUE, FALSE, Y, N, 1, 0 daripada sesuatu yang lebih terbuka untuk interpretasi)

Jon Hopkins
sumber
5

File .config jauh lebih mudah diedit (bagi kebanyakan orang) daripada Registry. Lebih mudah untuk membuka file konfigurasi khusus, menemukan data yang relevan, dan membuat perubahan tanpa membuka kemungkinan mengedit sesuatu yang akan mempengaruhi program lain.

Bruce Alderman
sumber
5

Ini semua tentang kemudahan pemahaman (dan kemungkinan berubah). Jadi "Apakah X dapat dibaca manusia?" seharusnya tidak dijawab dengan "ya" atau "tidak". Sebaliknya, jawabannya harus sepanjang semacam skala geser.

Contoh-contoh potensial:

  • 90% programmer dapat membaca dan mengubah file dengan editor teks biasa.
  • 60% penutur bahasa Inggris dapat membaca file dengan editor teks biasa.
  • 80% pengembang XYZ dapat membaca dan mengubah file, tetapi hanya menggunakan alat ZYX.
  • 10% pengembang YZX dapat membaca dan mengubah file ini dengan editor teks biasa.

Di luar konteks yang menjelaskan apa yang sebenarnya "bisa dibaca manusia", frasa itu tidak banyak membantu. (Beberapa manusia di suatu tempat mungkin dapat membaca salah satu format, jika Anda tidak menghitung mencoba melihat polaritas magnetik dari perangkat keras itu sendiri ...)

John Fisher
sumber
4

Satu perbedaan besar antara format yang bisa dibaca manusia dan format yang tidak bisa dibaca manusia adalah ketahanan. Dalam sistem Linux, semua jenis informasi akan tersebar di berbagai file teks. Anda perlu belajar di mana mereka berada, tetapi Anda selalu dapat menemukan informasi dan membaca dan mengubahnya dengan editor teks. Jika file hilang, Anda biasanya dapat menggantinya. Jika file menjadi rusak, Anda sering dapat mengetahui apa yang seharusnya dan memperbaikinya.

Dalam sistem MS Windows, sebagian besar akan berada di Registry, yang, dari sudut pandang pengguna, satu sistem buram besar, dapat diakses sebagian melalui berbagai alat (seperti beberapa file konfigurasi dalam sistem Linux), dan secara keseluruhan dengan editor registri. Selama semuanya berjalan dengan baik, ini tidak apa-apa. Jika rusak, tidak ada yang bisa dilakukan tanpa pengetahuan khusus.

David Thornley
sumber
1
Linux: "Anda perlu belajar di mana mereka berada" vs Windows: "tidak ada yang dapat dilakukan tanpa pengetahuan khusus". Saya berpendapat (sebagai pengguna banyak Sistem Operasi yang berbeda) bahwa mereka semua membutuhkan pengetahuan khusus. Mengetahui di mana harus mengubah registri untuk memperbaiki masalah tidak lebih (atau kurang) kompleks daripada mengetahui file mana yang dapat diedit dengan vi pada sistem Linux atau Solaris.
Bevan
3

Pemeriksaan termudah yang saya anggap memenuhi syarat sebagai "dapat dibaca manusia" adalah:

  • di lokasi / file yang dapat dengan mudah diakses oleh editor eksternal (ini akan membuat registri tidak "terbaca manusia")
  • tidak menggunakan karakter yang tidak dapat ditampilkan dalam struktur data. Jika saya membuat dokumen Office 2000 Word dengan teks "test" di dalamnya, saya mungkin dapat membukanya di notepad dan menemukan 4 karakter "test" di suatu tempat di dalam, tetapi akan ada banyak hal lain di sekitarnya.
  • Meskipun tidak diperlukan, format yang berisi metadata deskriptif adalah nilai tambah. File yang berisi JohnSmith|34|T|Fkurang bersahabat daripada <User><Name>JohnSmith</Name><id>34</id><isActive>T</isActive><isAdmin>F</isAdmin></User>, seperti yang tahu bidang apa (paling tidak secara umum) pada tanggal 2.
Jason Viers
sumber
2

Saya pikir Anda mungkin bertanya apakah "dapat dibaca manusia" sebagai istilah yang kadang-kadang salah diterapkan, dan tidak diragukan lagi itu istilah yang tepat. Dalam contoh entri registri vs .config file, saya pikir ini membantu bahwa Anda dapat mengatur XML dengan cara yang berbeda tergantung pada data, selingi komentar dan sebagainya.

Koleksi dalam file .config umumnya ditangani sebagai beberapa elemen, sementara itu lebih sulit dalam registri, sering sebagai MULTI_SZ.

Anda juga dapat melihat lebih banyak data konfigurasi untuk suatu aplikasi sekaligus - dengan regedit, untuk melihat sesuatu yang ada di kunci yang berbeda Anda perlu menavigasi ke kunci itu, yang berarti Anda tidak bisa lagi melihat entri yang sebelumnya Anda lihat. Dengan file .config, Anda dapat melihat seluruh file sekaligus, meskipun file itu mungkin berisi data hierarkis.

JohnL
sumber
Registri keduanya. Ada bagian-bagiannya yang sangat mudah dibaca, yang lain adalah omong kosong bagi siapa pun tanpa pengetahuan khusus yang cukup.
Jon Hopkins
Benar, dan Anda dapat mengatakan bahwa beberapa file .config terlihat seperti omong kosong. Perhatikan bahwa saya bahkan tidak memikirkan info registri COM, saya memikirkan pengaturan aplikasi yang akan masuk ke registri - rekan pengaturan yang Anda dapatkan dalam file .config. Saya tidak berpikir ada orang yang bermaksud agar info COM dibaca oleh manusia.
JohnL
2

Kontras "dapat dibaca manusia" dengan biner. Misalnya, Anda umumnya tidak dapat membuka indeks yang dapat dieksekusi atau database dalam editor teks vanilla dan memahami apa kontennya. Bytes di bawah desimal 32 bahkan tidak memiliki representasi standar global sebagai karakter yang terlihat.

Charles E. Grant
sumber
1

Jawaban singkat: Ini berarti informasi dimasukkan sebagai teks, bukan biner atau hex, dll. Sesuatu yang menyamakan dengan "bahasa" yang dapat dibaca daripada "bahasa mesin" komputer. Di luar itu, definisi menjadi keruh.

Skatterbrainz
sumber
1

Ini juga berlaku untuk kode - Anda menyusun program Anda dengan cara yang logis dan bijaksana sehingga pekerjaan siapa pun yang melihatnya pertama kali menjadi sedikit lebih mudah.

dodgy_coder
sumber