Przychodzą mi na myśl dwa przykłady:
Jednym z powodów, dla których programiści .Net są zachęcani do używania plików .config zamiast rejestru Windows, jest to, że pliki .config są w formacie XML i dlatego są czytelne dla człowieka.
Podobnie, JSON jest czasem uważany za czytelny dla człowieka w porównaniu z zastrzeżonym formatem.
Czy formaty czytelne dla człowieka są rzeczywiście czytelne dla ludzi? W przykładzie danych konfiguracyjnych:
- Format nie zmienia podstawowego znaczenia informacji - w obu przypadkach dane reprezentują to samo.
- Zarówno rejestr, jak i plik .config są przechowywane wewnętrznie jako seria 0 i 1. W tym zakresie podstawowa reprezentacja jest równie nieczytelna dla ludzi.
- Zarówno rejestr, jak i plik .config wymagają narzędzia do odczytu, formatowania i wyświetlania tych zer i jedynek oraz konwertowania ich na format, który ludzie mogą odczytać. W przypadku konfiguracji przechowywanej w rejestrze systemu Windows jest to Edytor rejestru. W przypadku XML może to być edytor tekstu lub czytnik XML. Tak czy inaczej, narzędzie sprawia, że dane są czytelne, a nie format danych.
Jaka jest zatem różnica między formatami danych czytelnymi dla człowieka a formatami nieczytelnymi dla człowieka?
terminology
Kramii
źródło
źródło
Odpowiedzi:
Czytelny dla człowieka oznacza w zasadzie, że jeśli treść jest wyświetlana przez program, który nie ma bezpośredniej, specyficznej świadomości formatu tego pliku, istnieje co najmniej uzasadniona szansa, że dana osoba może przeczytać i zrozumieć przynajmniej część z nich.
Twój podstawowy punkt dotyczący braku wyraźnej linii rozgraniczenia jest jednak absolutnie poprawny - pewnego razu znałem faceta, który może zdiagnozować problemy z programami (głównie napisane w Fortranie) często w ciągu pięciu minut lub mniej - wychodząc tylko z ósemki zrzut pamięci, bez patrzenia na kod źródłowy. Dla większości ludzi ten format raczej nie kwalifikuje się jako „czytelny dla człowieka”, ale oczywiście był wyjątkiem…
źródło
Czytelny dla ludzi oznacza, że mogę otworzyć to w Notatniku, jeśli chcę, i zmienić „hasło = foo” na „hasło = pasek”, jeśli chcę. Nie muszę używać zastrzeżonego narzędzia do przeglądania ani edytowania treści.
W przeciwieństwie do pliku PDF, którego nie można edytować za pomocą prostego edytora tekstu - potrzebujesz określonego narzędzia znającego format. Lub plik binarny .dat dostarczony z aplikacją sprzed 25 lat, której nie można czytać, edytować ani rozumieć.
źródło
W odpowiedzi na pytanie „Czy formaty czytelne dla człowieka są rzeczywiście czytelne dla ludzi”, z definicji tak, są, właśnie to oznacza czytelność dla ludzi.
Nie ma technicznej definicji czytelnej dla człowieka, jest ona subiektywna i mogą pojawić się pytania o to, jaki poziom wiedzy człowiek może potrzebować, aby się zakwalifikować (na przykład czy muszą zrozumieć bardzo podstawowe zasady XML, takie jak tagi i hierarchie , jeśli rozumieją domenę biznesową, w której istnieją dane - osobiście powiedziałbym tak obu), ale twój podstawowy test powinien być, gdybym pokazał to komuś z podstawowymi umiejętnościami technicznymi, który rozumiał podstawy tego, co dane miały reprezentować czy mogą to przeczytać?
Na poziomie praktycznym będzie to ogólnie oznaczać:
1) Dane są przechowywane jako tekst ASCII lub inny podobnie popularny i łatwo rozpoznawalny format
2) Czy istnieje rozsądna struktura, która jest oczywista po podstawowym badaniu. Na przykład nie musisz wiedzieć, że pierwsze X znaków związanych z Y, a następnie następne X odnoszą się do Z
3) Że zarówno dane, jak i metadane generalnie są w języku angielskim (lub jakimkolwiek języku lokalnym) i wymagają jedynie ograniczonej wiedzy na temat domeny problemowej, aby zrozumieć - więc numer faktury powinien znajdować się w tagu „fakturaNumer”, a nie „ uDef_Inbr ”
4) W przypadku danych nietekstowych zastosowano rozsądne, przewidywalne konwencje (na przykład PRAWDA, FAŁSZ, Y, N, 1, 0 zamiast czegoś bardziej otwartego na interpretację)
źródło
Pliki .config są znacznie łatwiejsze do edycji (dla większości osób) niż rejestr. Łatwiej jest otworzyć dedykowany plik konfiguracyjny, znaleźć odpowiednie dane i wprowadzić zmiany bez otwierania możliwości edycji czegoś, co wpłynie na inne programy.
źródło
Chodzi o łatwość zrozumienia (i prawdopodobnie zmiany). Więc „Czy X jest czytelny dla człowieka?” nie należy na nie odpowiadać „tak” lub „nie”. Odpowiedź powinna raczej odpowiadać ruchomej skali.
Potencjalne przykłady:
Poza kontekstem, który wyjaśnia, co tak naprawdę oznacza „czytelny dla człowieka”, to zdanie wcale nie pomaga. (Pewien człowiek gdzieś może prawdopodobnie odczytać dowolny z formatów, jeśli nie liczyć próbowania spojrzenia na polaryzację magnetyczną samych bitów sprzętowych ...)
źródło
Jedną z dużych różnic między formatami czytelnymi dla człowieka a formatami nieczytelnymi dla ludzi jest wytrzymałość. W systemie Linux wszelkiego rodzaju informacje będą rozproszone w różnych plikach tekstowych. Musisz dowiedzieć się, gdzie się znajdują, ale zawsze możesz znaleźć informacje, przeczytać je i zmienić w edytorze tekstu. Jeśli plik zniknie, zazwyczaj możesz go zastąpić. Jeśli plik zostanie uszkodzony, często możesz dowiedzieć się, co powinien być i naprawić.
W systemie MS Windows większość z nich będzie znajdować się w Rejestrze, który z punktu widzenia użytkowników jest jednym wielkim nieprzejrzystym systemem, dostępnym częściowo za pomocą różnych narzędzi (podobnie jak niektóre pliki konfiguracyjne w systemach Linux) i ogólnie z edytorem rejestru. Tak długo, jak wszystko idzie dobrze, jest w porządku. Jeśli się zepsuje, nic nie da się zrobić bez specjalistycznej wiedzy.
źródło
Najłatwiejsze kontrole, które mogę określić jako „czytelne dla człowieka”, to:
JohnSmith|34|T|F
jest mniej przyjazny niż<User><Name>JohnSmith</Name><id>34</id><isActive>T</isActive><isAdmin>F</isAdmin></User>
, jak wiadomo, co to są pola (przynajmniej ogólnie) w 2. miejscu.źródło
Myślę, że możesz zapytać, czy „czytelny dla człowieka” jako termin jest czasami nieprawidłowo stosowany i bez wątpienia tak jest. W przykładzie wpisów rejestru w porównaniu do plików .config, myślę, że to pomaga w rozmieszczeniu XML na różne sposoby w zależności od danych, komentarzy między wierszami i tak dalej.
Kolekcje w plikach .config są ogólnie traktowane jako wiele elementów, podczas gdy w rejestrze jest to trudniejsze, często jako MULTI_SZ.
Możesz również zobaczyć więcej danych konfiguracyjnych dla aplikacji jednocześnie - dzięki regedit, aby zobaczyć coś, co jest w innym kluczu, musisz przejść do tego klucza, co oznacza, że nie możesz już zobaczyć pozycji, które wcześniej oglądałeś. W przypadku plików .config możesz zobaczyć cały plik na raz, nawet jeśli plik ten może zawierać dane hierarchiczne.
źródło
Porównaj „bycie czytelnym” z binarnym. Na przykład ogólnie nie można otworzyć pliku wykonywalnego lub indeksu bazy danych w edytorze tekstów waniliowych i zrozumieć, co to jest zawartość. Bajty poniżej dziesiętnego 32 nie mają nawet globalnie standardowych reprezentacji jako widocznych znaków.
źródło
Krótka odpowiedź: oznacza, że informacje są wprowadzane jako tekst, a nie w postaci binarnej lub szesnastkowej itp. Coś, co zrówna się z czytelnym „językiem”, a nie „językiem maszynowym” komputera. Poza tym definicja staje się mętna.
źródło
Dotyczy to również kodu - programujesz swój program w logiczny i przemyślany sposób, dzięki czemu praca każdego, kto patrzy na niego po raz pierwszy, jest nieco łatwiejsza.
źródło