“İnsan Tarafından Okunabilir” ne demektir? Yanlış isim mi?


12

Akla gelen iki örnek:

  • .Net programcılarının Windows Kayıt Defteri yerine .config dosyalarını kullanmaya teşvik edilmesinin nedenlerinden biri, .config dosyalarının XML olması ve bu nedenle insan tarafından okunabilir olmasıdır.

  • Benzer şekilde, JSON bazen özel bir formata kıyasla insan tarafından okunabilir olarak kabul edilir.

İnsan tarafından okunabilen formatlar aslında insanlar tarafından okunabilir mi? Konfigürasyon verisi örneğinde:

  1. Biçim bilginin altında yatan anlamı değiştirmez - her iki durumda da veriler aynı şeyi temsil eder.
  2. Hem kayıt defteri hem de .config dosyası dahili olarak 0s ve 1s olarak depolanır. Bu kapsamda, temsili temsil insanlar tarafından eşit olarak okunamaz.
  3. Kayıt defteri ve .config dosyası, bu 0'ları ve 1'leri okumak, biçimlendirmek ve görüntülemek ve bunları insanların okuyabileceği bir biçime dönüştürmek için bir araç gerektirir. Windows Kayıt Defteri'nde depolanan yapılandırma durumunda, bu bir Kayıt Defteri Düzenleyicisi'dir. XML durumunda, bir metin editörü veya XML okuyucu olabilir. Her iki şekilde de, araç veri biçimini değil verileri okunabilir hale getirir.

Peki, insan tarafından okunabilen veri formatları ve insan tarafından okunamayan formatlar arasındaki fark nedir?


3
"İnsan" tanımının programcılar / vb ile sınırlı olup olmadığına veya tüm insanlar için geçerli olduğuna bağlıdır (sonuncusu hemen hemen tüm formatlar muhtemelen değişen derecelerde başarısız olur).
Peter Boughton

7
Okunabilir tek serileştirme formatı YAML'dir . XML gözlerimi dışarı atmak istememi sağlıyor.
NullUserException

Yanıtlar:


35

İnsan tarafından okunabilir temelde, içeriğin doğrudan o dosyanın formatı hakkında özel bir farkındalığı olmayan bir program tarafından görüntülenmesi durumunda, bir kişinin en azından bir kısmını okuyabilmesi ve anlayabileceği en azından makul bir şans olduğu anlamına gelir.

Açık bir betimleme çizgisinin olmayışı hakkındaki temel noktanız kesinlikle doğrudur - bir kerede, genellikle beş dakika veya daha kısa sürede programlarla (çoğunlukla Fortran'da yazılan) sorunları teşhis edebilen bir adamı tanıyordum - sadece bir sekizli kaynak koduna bakmadan çekirdek dökümü. Çoğu insan için, bu biçim "insan tarafından okunabilir" olarak nitelendirilemezdi, ama açıkçası bir istisnaydı ...


14
+1: Yeterli çaba gösterildiğinde her şey "insan tarafından okunabilir". Bilgisayarlarda "insan tarafından okunabilir" ifadesinin fiili anlamı: düz metin, yapılandırılmamış veya yalnızca metin karakterlerinden oluşan bir yapı.
Allon Güralnek

35

İnsan tarafından okunabilir demek istediğim şeyi Not Defteri'nde açabilirim ve eğer isterseniz "password = foo" yu "password = bar" olarak değiştirebilirim. İçeriğe bakmak veya içeriği düzenlemek için özel bir araç kullanmak zorunda değilim.

Basit bir metin düzenleyicisiyle düzenleyemediğiniz bir PDF'nin aksine - biçimi bilen belirli bir araca ihtiyacınız vardır. Veya 25 yıl önceki bazı uygulamalarla birlikte gelen, okuyamayacağınız, düzenleyemeyeceğiniz veya anlayamayacağınız bir ikili .dat dosyası.


RTF'nin insan tarafından okunabilir olduğunu düşünür müsünüz?
Peter Boughton

7
RTF programcı tarafından okunabilir :-). Ben el düzenledim ama hoş değildi. XML kesinlikle JSON'dan daha az okunabilir. Çoğu insanlarınızın alışkın olduğu şeylere bağlıdır - birçoğum .csv'yi XML'e tercih eder, ama eminim!
Kate Gregory

3
Okunabilir bir dosyayı düzenleyemeyebilirsiniz. İçeriğin insan tarafından okunabilir olduğu birçok yerde gördüm, ancak kolayca hesaplanamayan ve dosya içeriğine dayanan bir örneğin onaltılık parametre değeri olan bir kontrol alanına sahip olabilirler. Bu değer, uygulama tarafından dosya doğrulaması için kullanılır.
'15

6
İyi nokta @Ian - terminolojiyi tartıştığımız için, insan tarafından okunabilir ve düzenlenebilir olanı ayırt etmeliyiz. Bence ikisi de olması gereken iyi şeyler.
Kate Gregory

Ben sadece xml varlıkları sadece böyle bir acı olduğu için JSon xml daha çok insan tarafından düzenlenebilir (ve okunabilir) olduğu iddiasını destekliyorum.
Matthieu M.Kasım

10

"İnsan tarafından okunabilir formatlar aslında insanlar tarafından okunabilir mi?" Sorusuna yanıt olarak, evet, evet, onlar tarafından okunabilir demektir.

İnsan tarafından okunabilir teknik bir tanım yoktur, özneldir ve insanın hangi düzeyde bilgi sahibi olması gerektiğine dair sorular olabilir (örneğin, etiketler ve hiyerarşiler gibi XML'nin temel prensiplerini anlamaları gerekir mi? , verilerin var olduğu iş alanını anlarlarsa - kişisel olarak her ikisine de evet derim), ancak temel testiniz, verileri temsil etmenin ne anlama geldiğinin temellerini anlayan temel teknik becerilere sahip birine gösterirsem olmalıdır. , okuyabilirler mi?

Pratik düzeyde bu genellikle aşağıdakiler anlamına gelir:

1) Veriler ASCII metni veya benzer şekilde yaygın ve kolayca tanınabilir başka bir biçim olarak saklanır

2) Temel bir incelemeden açıkça anlaşılan makul bir yapı olması. Örneğin, Y ile ilgili ilk X karakterinin, ardından bir sonraki X'in Z ile ilgili olduğunu bilmenize gerek yoktur.

3) Hem verilerin hem de meta verilerin genellikle İngilizce (veya yerel diliniz ne olursa olsun) olduğunu ve anlamak için sorun alanıyla ilgili yalnızca sınırlı bilgi gerektirdiğini - bu nedenle bir fatura numarasının "değil" uDef_Inbr"

4) Metin dışı veriler için öngörülebilir kurallar kullanılmıştır (örneğin, yoruma daha açık bir şey yerine TRUE, FALSE, Y, N, 1, 0)


5

.config dosyalarının düzenlenmesi (çoğu kişi için) Kayıt Defteri'ne göre çok daha kolaydır. Özel bir yapılandırma dosyası açmak, ilgili verileri bulmak ve diğer programları etkileyecek bir şeyi düzenleme olasılığını açmadan değişiklik yapmak daha kolaydır.


5

Her şey anlama kolaylığı (ve muhtemelen değişme) ile ilgilidir. "X insan okunabilir mi?" "evet" veya "hayır" ile yanıtlanmamalıdır. Bunun yerine, cevap bir çeşit kayan ölçek boyunca olmalıdır.

Potansiyel örnekler:

  • Programcıların% 90'ı dosyayı herhangi bir yaygın metin düzenleyicisiyle okuyabilir ve değiştirebilir.
  • İngilizce konuşanların% 60'ı dosyayı herhangi bir yaygın metin düzenleyicisiyle okuyabilir.
  • XYZ geliştiricilerinin% 80'i dosyayı okuyabilir ve değiştirebilir, ancak yalnızca ZYX aracını kullanarak.
  • YZX geliştiricilerinin% 10'u bu dosyayı ortak bir metin düzenleyicisiyle okuyabilir ve değiştirebilir.

"İnsan tarafından okunabilir" in gerçekte ne anlama geldiğini açıklayan bir bağlamın dışında, bu ifade pek yardımcı olmuyor. (Donanımın bitlerinin manyetik kutupluluğuna bakmaya çalışmadığınız takdirde, bir yerdeki bazı insanlar muhtemelen formatlardan herhangi birini okuyabilir ...)


4

İnsan tarafından okunabilen formatlar ile insan tarafından okunamayan formatlar arasındaki büyük fark, sağlamlıktır. Bir Linux sisteminde, her türlü bilgi çeşitli metin dosyalarına dağıtılacaktır. Nerede olduklarını öğrenmeniz gerekir, ancak bilgileri her zaman bulabilir ve bir metin düzenleyici ile okuyabilir ve değiştirebilirsiniz. Bir dosya kaybolursa, genellikle dosyayı değiştirebilirsiniz. Bir dosya bozulursa, genellikle ne olması gerektiğini anlayabilir ve düzeltebilirsiniz.

Bir MS Windows sisteminde, bunların çoğu Kayıt Defteri'nde, yani kullanıcıların bakış açısından, kısmen çeşitli araçlarla (Linux sistemlerindeki bazı yapılandırma dosyaları gibi) erişilebilen büyük bir opak sistemdir ve genel olarak bir kayıt defteri düzenleyicisi ile. Her şey yolunda gittiği sürece, sorun değil. Eğer kırılırsa, uzman bilgisi olmadan yapılabilecek hiçbir şey yoktur.


1
Linux: "Nerede olduklarını öğrenmeniz gerekiyor" Windows vs: "uzman bilgisi olmadan yapılabilecek hiçbir şey". ( Birçok farklı İşletim Sisteminin bir kullanıcısı olarak ) hepsinin uzman bilgisi gerektirdiğini iddia ediyorum . Bir sorunu çözmek için kayıt defterini nerede değiştireceğinizi bilmek, Linux veya Solaris sisteminde hangi dosyanın düzenlenebileceğini bilmekten daha fazla (veya daha az) karmaşık değildir.
Bevan

3

Ben "insan tarafından okunabilir" olarak nitelendirmek düşünebilirsiniz en kolay kontroller:

  • harici editörler tarafından kolayca erişilebilen bir konumda / dosyada (bu, kayıt defterinin "insan tarafından okunamayacağını")
  • veri yapısında görüntülenemeyen karakterler kullanmaz. İçerisinde "test" metniyle bir Office 2000 Word belgesini yaparsam, bunu not defterinde açabilir ve içeride bir yerde 4 karakter "test" bulabilirim, ancak etrafında bir sürü şey olacak.
  • Gerekli olmasa da, açıklayıcı meta veriler içeren biçimler bir artıdır. İçeren bir dosya JohnSmith|34|T|Fdaha az dostudur <User><Name>JohnSmith</Name><id>34</id><isActive>T</isActive><isAdmin>F</isAdmin></User>2. alanlar (genellikle en az) ne Bildiğiniz üzere.

2

Sanırım bir terim olarak "insan tarafından okunabilir" in bazen yanlış uygulandığını ve şüphesiz uygulandığını soruyor olabilirsiniz. Kayıt defteri girişleri vs .config dosyaları örneğinde, XML veri, farklı yorumlar vb. Bağlı olarak farklı şekillerde düzenleyebilirsiniz yardımcı olduğunu düşünüyorum.

.Config dosyalarındaki koleksiyonlar genellikle birden çok öğe olarak işlenirken, kayıt defterinde genellikle MULTI_SZ gibi daha zordur.

Ayrıca, bir uygulama için daha fazla yapılandırma verisini aynı anda görebilirsiniz - regedit ile, farklı bir anahtarda olan bir şeyi görmek için o anahtara gitmeniz gerekir, yani daha önce baktığınız girişleri artık göremezsiniz. .Config dosyalarıyla, dosya hiyerarşik veriler içeriyor olsa da, dosyanın tamamını bir kerede görebilirsiniz.


Kayıt defteri her ikisidir. Çok okunabilir bitleri var, diğerleri oldukça uzman bilgisi olmayan herkese anlamsız geliyor.
Jon Hopkins

Doğru ve bazı .config dosyalarının anlamsız görüneceğini söyleyebilirsiniz. COM kayıt bilgilerini bile düşünmüyorum, kayıt defterine gidecek uygulama ayarlarını düşünüyordum - .config dosyalarında aldığınız ayarlara bir eş. Kimsenin COM bilgilerinin insanlar tarafından okunmasını istemediğini sanmıyorum.
JohnL

2

İkili ile "insan tarafından okunabilir" kontrast. Örneğin, bir vanilya metin düzenleyicisinde genellikle yürütülebilir dosyayı veya veritabanı dizinini açamaz ve içeriğin ne olduğunu anlayamazsınız. Ondalık 32'nin altındaki baytların görünür karakterler olarak küresel standart gösterimleri bile yoktur.


1

Kısa cevap: Bu, bilginin ikili veya onaltılık metin yerine metin olarak girildiği anlamına gelir. Bilgisayar "makine dili" yerine okunabilir bir "dil" ile denk gelen bir şey. Bunun ötesinde, tanım bulanıklaşıyor.


1

Kod için de geçerlidir - programınızı mantıklı ve düşünceli bir şekilde, ilk kez ona bakan birinin işi biraz daha kolay olacak şekilde yapılandırırsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.