我目前对其他程序员如何将数据组织到文件中非常好奇.任何人都可以推荐任何关于创建文件结构的最佳实践的好文章或书籍吗?
例如,如果您出于任何目的创建了自己的软件,是否将保存的数据保留为纯文本,序列化,编码为xml,为什么要这样做?
有没有我错过的秘密?
一般来说,至少在开始时,尽可能使用最简单的东西.例如,考虑UNIX,其中大多数配置文件只是以空格分隔的字段,或者是用另一个字符分隔的字段(例如/ etc/passwd,它使用":"分隔符,因为GCOS字段可以包含空格.)
如果您的数据需要更多结构,那么问问自己"我可以轻松使用哪些工具?" 例如,Python和Ruby有JSON和YAML.
如果你已经拥有大量基于XML的东西,那么XML基本上是有用的,或者你希望在浏览器中将XML转换为可显示的形式.否则,它通常是非常重量级(代码大小,复杂性)从你得到的.
无论你选择哪种格式,都要记得存放某种版本号(我很确定你必须引入一些变化).
格式在很大程度上取决于应用程序和数据量.对于某些应用程序,XML是合适的,对于其他应用程序,存储在二进制文件中的固定大小结构是好的.
我根据情况使用许多不同的格式,例如:
纯文本文件(分隔),用于存储Matlab和R分析的数据集
二进制文件 - 用于存储固定大小的结构(具有动态大小的随机访问变得困难,而不维护元素的单独的偏移数组).一个积极因素是你有性能和空间效率(为什么大多数数据库都以二进制格式存储数据?),但这对人类来说并不是很好.记住结束.
XML - 通常用于配置数据或我想要提供给其他用户应用程序的数据(以及XSD).另一方可以编写漂亮的XSLT转换或以其他方式使用数据(当然,他们可以使用格式描述的纯文本或二进制数据执行相同操作)