作为一个相对较新的程序员,我有好几次遇到这样的情况:从外部源读取和汇编程序数据,而不是用代码编写。当有大量相同类型的对象时,通常会出现这种情况。在这种情况下,对象定义很快就占用了代码中的大量空间,并增加了不必要的可读性障碍。在
例如,我一直在研究基于文本的RPG,它有大量的房间和项目需要跟踪。即使是一些项目和房间也会导致大量的对象创建代码块。在
我认为在这种情况下,使用某种格式的外部数据存储,从文件中读取数据会更容易。在这样的文件中,项目和房间将按名称和属性进行存储,这样就可以相对轻松地将它们解析为对象。在
什么样的格式最好?我觉得一个完整的数据库(如SQL)会给一个相当简单的脚本添加不必要的膨胀。另一方面,通过外部应用程序或另一个python脚本,编辑这些数据的简单方法也很重要。简单地说,我听到的最常提到的是XML、JSON和YAML。在
据我所见,XML似乎不是最好的选择,因为许多人似乎觉得它复杂且难以有效地使用。在
JSON和YAML似乎都可以工作,但我不知道在外部编辑它们有多容易。
在这种情况下,速度不是首要问题。虽然更快的实现当然是可取的,但这并不是我可以使用的限制因素。在
我在这里和谷歌上都看过,虽然我在这个话题上看到了不少,但我没有找到任何对我有特别帮助的东西。像JSON或YAML这样的格式就足够了吗,还是我可以更好地使用一个完整的数据库?在