“ มนุษย์อ่านได้” หมายความว่าอะไร? มันเป็นการเรียกชื่อผิดหรือไม่?


12

ตัวอย่างของฤดูใบไม้ผลิที่ใจสอง:

  • เหตุผลหนึ่งที่โปรแกรมเมอร์. Net ได้รับการสนับสนุนให้ใช้ไฟล์. config แทน Windows Registry ก็คือไฟล์. config เป็น XML และสามารถอ่านได้โดยมนุษย์

  • ในทำนองเดียวกัน JSON บางครั้งก็ถือว่ามนุษย์สามารถอ่านได้เมื่อเทียบกับรูปแบบที่เป็นกรรมสิทธิ์

มนุษย์สามารถอ่านได้จริงหรือไม่? ในตัวอย่างของข้อมูลการกำหนดค่า:

  1. รูปแบบไม่เปลี่ยนแปลงความหมายพื้นฐานของข้อมูล - ในทั้งสองกรณีข้อมูลแสดงถึงสิ่งเดียวกัน
  2. ทั้งไฟล์รีจิสทรีและไฟล์. config ถูกจัดเก็บไว้ภายในเป็นซีรีย์ 0s และ 1s ในระดับนั้นตัวแทนที่เป็นรากฐานไม่สามารถอ่านได้อย่างเท่าเทียมกันโดยมนุษย์
  3. ทั้งไฟล์ registry และ. config ต้องการเครื่องมือในการอ่านจัดรูปแบบและแสดง 0s และ 1s เหล่านั้นและแปลงเป็นรูปแบบที่มนุษย์สามารถอ่านได้ ในกรณีของการกำหนดค่าที่เก็บไว้ใน Windows Registry นี่คือตัวแก้ไขรีจิสทรี ในกรณีของ XML มันอาจเป็น text editor หรือ XML reader ไม่ว่าจะด้วยวิธีใดเครื่องมือจะทำให้สามารถอ่านข้อมูลไม่ใช่รูปแบบข้อมูล

ดังนั้นความแตกต่างระหว่างรูปแบบข้อมูลที่มนุษย์อ่านได้และรูปแบบที่ไม่ใช่มนุษย์อ่านคืออะไร


3
ขึ้นอยู่กับคำจำกัดความของ "มนุษย์" ถูก จำกัด ไว้ที่โปรแกรมเมอร์ / ฯลฯ หรือใช้กับมนุษย์ทุกคน (หากภายหลังรูปแบบเกือบทุกรูปแบบอาจล้มเหลวในการเปลี่ยนแปลงองศา)
Peter Boughton

7
มนุษย์เพียงคนเดียวรูปแบบอนุกรมที่สามารถอ่านได้เป็นYAML XML ทำให้ฉันอยากเจาะตา
NullUserException

คำตอบ:


35

โดยทั่วไปแล้วมนุษย์สามารถอ่านได้หมายความว่าหากเนื้อหานั้นถูกแสดงโดยโปรแกรมที่ขาดการรับรู้โดยตรงของรูปแบบของไฟล์นั้นอย่างน้อยก็มีโอกาสพอสมควรที่บุคคลจะสามารถอ่านและทำความเข้าใจได้อย่างน้อยบางส่วน

ประเด็นพื้นฐานของคุณเกี่ยวกับการขาดเส้นแบ่งที่ชัดเจนนั้นถูกต้องอย่างแน่นอนแม้ว่า - ครั้งหนึ่งฉันรู้ว่าผู้ชายคนหนึ่งที่สามารถวินิจฉัยปัญหาเกี่ยวกับโปรแกรม (ส่วนใหญ่เขียนใน Fortran) มักจะใช้เวลาห้านาทีหรือน้อยกว่า การถ่ายโอนข้อมูลหลักโดยไม่ต้องดูซอร์สโค้ดเลย สำหรับคนส่วนใหญ่รูปแบบนั้นแทบจะไม่ถือว่าเป็น "มนุษย์ที่อ่านได้" แต่แน่นอนว่าเขาเป็นข้อยกเว้น ...


14
+1: ทุกอย่าง "มนุษย์อ่านได้" ได้รับความพยายามเพียงพอ ความหมายโดยพฤตินัยของ "มนุษย์ที่อ่านได้" ในคอมพิวเตอร์คือ: ข้อความธรรมดาไม่มีโครงสร้างหรือโครงสร้างบางส่วนประกอบด้วยอักขระที่เป็นข้อความเท่านั้น
Allon Guralnek

35

Human Readable หมายความว่าฉันสามารถเปิดสิ่งต่าง ๆ ใน Notepad ได้ถ้าต้องการและเปลี่ยน "password = foo" เป็น "password = bar" ถ้าต้องการ ฉันไม่ต้องใช้เครื่องมือที่เป็นกรรมสิทธิ์เพื่อดูหรือแก้ไขเนื้อหา

ตัดกันกับ PDF ที่คุณไม่สามารถแก้ไขด้วยโปรแกรมแก้ไขข้อความอย่างง่าย - คุณต้องใช้เครื่องมือเฉพาะที่รู้รูปแบบ หรือไฟล์ไบนารี .dat ที่มาพร้อมกับแอปพลิเคชั่นจาก 25 ปีก่อนที่คุณไม่สามารถอ่านแก้ไขหรือทำความเข้าใจได้


คุณจะพิจารณาว่ามนุษย์ RTF สามารถอ่านได้หรือไม่?
Peter Boughton

7
RTF สามารถอ่านได้ :-) โปรแกรมเมอร์ ฉันแก้ไขมันด้วยมือแล้ว แต่มันก็ไม่น่าพอใจ XML นั้นมนุษย์สามารถอ่านได้น้อยกว่า JSON อย่างแน่นอน มากขึ้นอยู่กับสิ่งที่มนุษย์ของคุณคุ้นเคย - หลาย ๆ คนชอบ. csv ถึง XML แต่ฉันไม่แน่ใจ!
Kate Gregory

3
คุณอาจไม่สามารถแก้ไขไฟล์ที่มนุษย์อ่านได้ ฉันได้เห็นหลายที่เนื้อหาเป็นมนุษย์อ่านได้ แต่พวกเขาอาจมีช่องตรวจสอบกับตัวอย่างเช่นค่าพารามิเตอร์ hex ที่ไม่สามารถคำนวณได้ง่ายและขึ้นอยู่กับเนื้อหาของไฟล์ ค่านี้ถูกใช้โดยแอปพลิเคชันสำหรับการตรวจสอบไฟล์
คุณ

6
Good point @Ian - เนื่องจากเรากำลังพูดถึงคำศัพท์เราควรแยกความแตกต่างระหว่างมนุษย์ที่อ่านได้และมนุษย์สามารถแก้ไขได้ ในความคิดของฉันทั้งคู่เป็นสิ่งที่ดี
Kate Gregory

ฉันสนับสนุนการเรียกร้องของคุณว่า JSon สามารถแก้ไขได้อย่างมนุษย์ (และอ่านได้) มากกว่า xml ถ้าเพียงเพราะเอนทิตี xml นั้นเป็นเพียงความเจ็บปวด
Matthieu M.

10

ในการตอบคำถามของคุณ "รูปแบบที่มนุษย์อ่านได้จริงสามารถอ่านได้โดยมนุษย์" โดยคำจำกัดความใช่พวกเขาคือนั่นคือสิ่งที่มนุษย์สามารถอ่านได้

ไม่มีคำจำกัดความด้านเทคนิคของมนุษย์ที่สามารถอ่านได้มันเป็นอัตนัยและอาจมีคำถามเกี่ยวกับระดับความรู้ที่มนุษย์อาจต้องมีคุณสมบัติ (เช่นพวกเขาจำเป็นต้องเข้าใจหลักการพื้นฐานของ XML เช่นแท็กและลำดับชั้น พวกเขาควรเข้าใจโดเมนธุรกิจที่ข้อมูลมีอยู่ - โดยส่วนตัวฉันจะบอกว่าใช่ทั้งสองอย่าง) แต่การทดสอบขั้นพื้นฐานของคุณควรเป็นถ้าฉันแสดงให้คนที่มีทักษะทางเทคนิคขั้นพื้นฐานที่เข้าใจพื้นฐานของข้อมูลที่มีความหมาย พวกเขาอ่านมันได้ไหม

ในทางปฏิบัติระดับนี้โดยทั่วไปจะหมายถึงต่อไปนี้:

1) ข้อมูลถูกจัดเก็บเป็นข้อความ ASCII หรือรูปแบบอื่นที่คล้ายกันและสามารถจดจำได้ง่าย

2) มีโครงสร้างที่สมเหตุสมผลซึ่งปรากฏชัดจากการตรวจสอบเบื้องต้น ตัวอย่างเช่นคุณไม่จำเป็นต้องรู้ว่าอักขระ X ตัวแรกที่เกี่ยวข้องกับ Y ดังนั้น X ตัวถัดไปที่เกี่ยวข้องกับ Z

3) ว่าทั้งข้อมูลและข้อมูลเมตาโดยทั่วไปเป็นภาษาอังกฤษ (หรือภาษาท้องถิ่นของคุณ) และต้องการเพียงความรู้ จำกัด ของโดเมนปัญหาที่จะเข้าใจ - ดังนั้นหมายเลขใบแจ้งหนี้จะอยู่ในแท็ก "ใบแจ้งหนี้หมายเลข" แทนที่จะเป็น " uDef_Inbr"

4) สำหรับข้อมูลที่ไม่ใช่ข้อความควรใช้การประชุมที่คาดเดาได้ (เช่น TRUE, FALSE, Y, N, 1, 0 แทนที่จะเป็นสิ่งที่เปิดกว้างต่อการตีความ)


5

ไฟล์. config นั้นง่ายต่อการแก้ไข (สำหรับคนส่วนใหญ่) กว่า Registry ง่ายกว่าในการเปิดไฟล์ปรับแต่งค้นหาข้อมูลที่เกี่ยวข้องและทำการเปลี่ยนแปลงโดยไม่ต้องเปิดความเป็นไปได้ในการแก้ไขบางอย่างที่จะส่งผลกระทบต่อโปรแกรมอื่น


5

มันคือทั้งหมดที่เกี่ยวกับความเข้าใจง่าย (และอาจเปลี่ยนแปลงได้) ดังนั้น "มนุษย์ X อ่านได้หรือไม่" ไม่ควรตอบด้วย "ใช่" หรือ "ไม่" คำตอบควรอยู่ในระดับสไลเดอร์

ตัวอย่างที่มีศักยภาพ:

  • 90% ของโปรแกรมเมอร์สามารถอ่านและเปลี่ยนแปลงไฟล์ด้วยโปรแกรมแก้ไขข้อความทั่วไป
  • 60% ของผู้พูดภาษาอังกฤษสามารถอ่านไฟล์ด้วยโปรแกรมแก้ไขข้อความทั่วไป
  • 80% ของนักพัฒนา XYZ สามารถอ่านและเปลี่ยนไฟล์ได้ แต่ใช้เครื่องมือ ZYX เท่านั้น
  • นักพัฒนา YZX 10% สามารถอ่านและเปลี่ยนแปลงไฟล์นี้ด้วยโปรแกรมแก้ไขข้อความทั่วไป

นอกเหนือจากบริบทที่อธิบายว่า "มนุษย์อ่านได้" หมายถึงอะไรวลีนี้ไม่ได้ช่วยอะไรมากมาย (มนุษย์บางคนอาจอ่านรูปแบบใดก็ได้ถ้าคุณไม่นับลองดูขั้วแม่เหล็กของบิตฮาร์ดแวร์เอง ... )


4

ความแตกต่างที่สำคัญอย่างหนึ่งระหว่างรูปแบบที่มนุษย์อ่านได้และรูปแบบที่ไม่ใช่มนุษย์ที่อ่านได้คือความทนทาน ในระบบ Linux ข้อมูลทุกประเภทจะกระจัดกระจายในไฟล์ข้อความต่างๆ คุณจำเป็นต้องเรียนรู้ว่าพวกเขาอยู่ที่ไหน แต่คุณสามารถค้นหาข้อมูลและอ่านและเปลี่ยนแปลงได้ด้วยโปรแกรมแก้ไขข้อความ หากไฟล์หายไปโดยทั่วไปคุณสามารถแทนที่ได้ หากไฟล์เกิดความเสียหายคุณมักจะสามารถเข้าใจได้ว่ามันควรจะเป็นอะไรและแก้ไขมัน

ในระบบ MS Windows ส่วนใหญ่จะอยู่ใน Registry ซึ่งก็คือจากมุมมองของผู้ใช้ระบบทึบแสงขนาดใหญ่หนึ่งระบบสามารถเข้าถึงได้จากเครื่องมือต่างๆ (เช่นไฟล์ปรับแต่งบางอย่างในระบบ Linux) และโดยรวม ด้วยตัวแก้ไขรีจิสทรี ตราบใดที่ทุกอย่างเป็นไปด้วยดีนี่ก็โอเค ถ้ามันพังก็ไม่มีอะไรที่สามารถทำได้โดยปราศจากความรู้จากผู้เชี่ยวชาญ


1
Linux: "คุณจำเป็นต้องเรียนรู้ว่าพวกเขาอยู่ที่ไหน" vs Windows: "ไม่มีสิ่งใดที่สามารถทำได้โดยปราศจากความรู้จากผู้เชี่ยวชาญ" ผมขอยืนยัน (เป็นผู้ใช้หลายระบบปฏิบัติการที่แตกต่างกัน) ว่าพวกเขาทั้งหมดต้องใช้ความรู้ผู้เชี่ยวชาญ การรู้ตำแหน่งที่จะปรับแต่งรีจิสตรีเพื่อแก้ไขปัญหาไม่ซับซ้อน (หรือน้อยกว่า) ซับซ้อนกว่าการรู้ว่าไฟล์ใดที่สามารถแก้ไขได้ด้วย vi บนระบบ Linux หรือ Solaris
Bevan

3

การตรวจสอบที่ง่ายที่สุดที่ฉันสามารถนึกได้ว่าเป็นคุณสมบัติที่ "มนุษย์สามารถอ่านได้" คือ:

  • ในตำแหน่ง / ไฟล์ที่สามารถเข้าถึงได้ง่ายโดยผู้แก้ไขภายนอก (สิ่งนี้จะทำให้รีจิสตรีไม่ได้ "มนุษย์สามารถอ่านได้")
  • ไม่ใช้อักขระที่ไม่สามารถแสดงได้ในโครงสร้างข้อมูล ถ้าฉันสร้างเอกสาร Office 2000 Word ด้วยข้อความ "ทดสอบ" ข้างในฉันอาจจะสามารถเปิดเอกสารนั้นในแผ่นจดบันทึกและค้นหาตัวอักษร 4 ตัว "ทดสอบ" ข้างใน แต่จะมีสิ่งอื่น ๆ อีกมากมายรอบตัว
  • ในขณะที่ไม่จำเป็นต้องใช้รูปแบบที่มีข้อมูลเมตาอธิบายเป็นบวก ไฟล์ที่มีความJohnSmith|34|T|Fเป็นมิตรน้อยกว่า<User><Name>JohnSmith</Name><id>34</id><isActive>T</isActive><isAdmin>F</isAdmin></User>ดังที่ทราบว่าฟิลด์ใดบ้าง (อย่างน้อยโดยทั่วไป) ในลำดับที่ 2

2

ฉันคิดว่าคุณอาจถามว่า "มนุษย์อ่าน" เป็นคำบางครั้งใช้ไม่ถูกต้องและไม่ต้องสงสัยเลยว่ามันเป็น ในตัวอย่างของรายการรีจิสตรีกับไฟล์. config ฉันคิดว่ามันช่วยให้คุณสามารถจัดเรียง XML ได้หลายวิธีขึ้นอยู่กับข้อมูลความคิดเห็นที่สลับกันเป็นต้น

คอลเลกชันในไฟล์. config ได้รับการจัดการโดยทั่วไปเป็นองค์ประกอบหลายอย่างในขณะที่มันยากขึ้นในรีจิสทรีมักจะเป็น MULTI_SZ

คุณยังสามารถดูข้อมูลการกำหนดค่าเพิ่มเติมสำหรับแอปพลิเคชันพร้อมกันได้ด้วย regedit เพื่อดูสิ่งที่อยู่ในคีย์ที่แตกต่างกันคุณต้องไปที่คีย์นั้นซึ่งหมายความว่าคุณจะไม่เห็นรายการที่คุณเคยดูอีกต่อไป ด้วยไฟล์. config คุณสามารถดูไฟล์ทั้งหมดได้ในคราวเดียวแม้ว่าไฟล์นั้นอาจมีข้อมูลแบบลำดับชั้น


รีจิสทรีมีทั้ง มีบิตของมันที่สามารถอ่านได้มากคนอื่น ๆ ซึ่งพูดพล่อยๆให้กับทุกคนโดยไม่มีความรู้ผู้เชี่ยวชาญสวย
Jon Hopkins

จริงและคุณสามารถพูดได้ว่าไฟล์. config บางไฟล์ดูเหมือนพูดไม่ชัด โปรดทราบว่าฉันไม่ได้คิดถึงข้อมูลรีจิสทรีของ COM ฉันกำลังคิดถึงการตั้งค่าแอปพลิเคชันที่จะเข้าไปในรีจิสทรี ฉันไม่คิดว่าจะมีใครตั้งใจให้มนุษย์สามารถอ่านข้อมูล COM ได้
JohnL

2

ตัดกัน "มนุษย์อ่านได้" ด้วยไบนารี ตัวอย่างเช่นโดยทั่วไปคุณไม่สามารถเปิดไฟล์ปฏิบัติการหรือดัชนีฐานข้อมูลในโปรแกรมแก้ไขข้อความวานิลลาและเข้าใจว่าเนื้อหาคืออะไร ไบต์ที่ต่ำกว่าทศนิยม 32 ไม่ได้มีการรับรองมาตรฐานทั่วโลกเป็นตัวละครที่มองเห็นได้


1

คำตอบสั้น ๆ : มันหมายถึงข้อมูลถูกป้อนเป็นข้อความแทนที่จะเป็นเลขฐานสองหรือฐานสิบหกเป็นต้นสิ่งที่เท่ากับ "ภาษา" ที่อ่านได้แทนที่จะเป็น "ภาษาเครื่อง" ของคอมพิวเตอร์ นอกเหนือจากนั้นคำจำกัดความมืดมน


1

นอกจากนี้ยังใช้กับโค้ด - คุณจัดโครงสร้างโปรแกรมของคุณในลักษณะที่เป็นตรรกะและมีน้ำใจซึ่งงานของทุกคนที่ดูมันเป็นครั้งแรกจะทำให้ง่ายขึ้นเล็กน้อย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.