比較的新しいプログラマーとして、コードに書き込むよりも、外部ソースからプログラムデータを読み取ってアセンブルする方が有益な状況に何度か遭遇しました。これは主に、同じタイプのオブジェクトが多数ある場合に当てはまります。このようなシナリオでは、オブジェクト定義はコード内ですぐに多くのスペースを占有し、読みやすさに不必要な障害を追加します。
例として、私はテキストベースのRPGに取り組んできました。これには、追跡する部屋とアイテムが多数あります。いくつかのアイテムと部屋でさえ、オブジェクト作成コードの大規模なブロックにつながります。
この場合、ファイルから読み取る何らかの形式の外部データストレージを使用する方が簡単だと思います。このようなファイルでは、アイテムと部屋は名前と属性で保存されるため、比較的簡単にオブジェクトに解析できます。
これにはどのフォーマットが最適ですか?SQLのような本格的なデータベースは、かなり軽いスクリプトに不要な肥大化を加えると思います。一方、このデータを編集する簡単な方法は、外部アプリケーションまたは別のPythonスクリプトを使用して重要です。軽い話ですが、私が最もよく言及するのはXML、JSON、YAMLです。
私が見たところ、XMLは複雑で効果的に操作するのが難しいと多くの人が感じているため、XMLは最良の選択肢ではないようです。
JSONとYAMLはどちらも機能するように見えますが、どちらかを外部で編集するのがどれほど簡単かはわかりません。この場合、速度は主要な関心事ではありません。もちろん、より高速な実装が望ましいですが、それは私が使用できるものを制限する要因ではありません。
私はこことGoogleの両方を見て回りましたが、このトピックについてはかなり見てきましたが、特に役立つものは見つかりませんでした。これにはJSONやYAMLのような形式で十分ですか、それとも本格的なデータベースを使用したほうがよいでしょうか?