Я переоснащаю движок для симуляции, которую программирую. Проблема в том, что существует огромное количество данных, передаваемых между многими объектами, которые в конечном итоге сериализуются.
Способ, которым я его запрограммировал, прежде чем я решил go вперед и переписал все это было с переменными класса ( то есть Clock.time, Clock.format, et c.). Я понимаю, что это «плохое» программирование, и вместо этого я держу словарь словарей, который облегчает сериализацию. У меня проблема в том, что в результате получается код, похожий на этот беспорядок:
import save_data
def example_of_an_object(branch, data, input):
if not data['python']['foo']: return branch, data, "False."
else:
if not branch['leaf']:
branch.update({'leaf' : '1'})
print("{} is on leaf {}".format(data['user']['name'], branch['leaf']))
elif branch['leaf'] == "1":
if data['python']['foo'] == "Hello":
data.update('python':{'foo': "bye"})
save_data.shelving(data['python'])
print("Good Bye")
else: pass
return branch, data, input
Есть ли лучший способ для представления этих данных? Обратите внимание, что иногда в одном объекте используется несколько дочерних словарей, иногда только один, поэтому я стараюсь сделать все как можно более однородным (насколько это возможно для атрибутов go).