有两个例子在脑海中浮现:
人类可读的格式实际上是可读的吗?在配置数据示例中:
那么,人类可读的数据格式和非人类可读的格式之间有什么区别呢?
发布于 2010-11-05 15:09:37
人类可读性基本上意味着,如果一个程序显示的内容缺乏对该文件格式的直接、具体的认识,那么至少有一个人能够阅读和理解其中一些内容的合理机会。
你的基本观点--缺乏清晰的轮廓是绝对正确的--我曾经认识一个人,他可以在五分钟或更短的时间内诊断程序的问题(大部分是用Fortran编写的)--只是从八进制核心转储中走出来,根本不看源代码。对大多数人来说,这种格式很难被称为“人类可读的”,但显然他是个例外.
发布于 2010-11-05 14:45:19
人类可读性意味着,如果我愿意,我可以打开记事本中的东西,如果我愿意,可以将"password=foo“改为"password=bar”。我不需要使用专有工具来查看或编辑内容。
与PDF不同的是,您不能使用简单的文本编辑器进行编辑--您需要一个知道格式的特定工具。或者是25年前一些应用程序附带的二进制.dat文件,您无法读取、编辑或理解这些文件。
发布于 2010-11-05 15:22:26
在回答你的问题时,“人类可读的格式实际上是人类可读的”,从定义上说,是的,这就是人类可读性的意思。
人类可读性没有一个技术上的定义,它是主观的,而且可能存在一些问题:人类可能需要具备多高的知识水平(例如,他们是否需要理解XML的基本原则,如标记和层次结构,如果他们理解数据存在的业务领域-我会说是两者都是)--但您的基本测试应该是,如果我向具有基本技术技能的人展示这些知识,他们能够阅读它吗?
在实际层面上,这通常意味着:
1)数据存储为ASCII文本或其他类似的通用和易于识别的格式。
( 2)有一种从基本考察中自明的合理结构。例如,您不必知道第一个X字符与Y相关,然后下一个X与Z相关。
3)数据和元数据通常都是英语(或您的本地语言),并且只需要有限的问题域知识就可以理解,因此发票号应该是"invoiceNumber“标记,而不是"uDef_Inbr”。
4)对于非文本数据,使用了可预测的约定(例如,TRUE、FALSE、Y、N、1、0,而不是更易于解释的内容)。
https://softwareengineering.stackexchange.com/questions/17121
复制相似问题