我打算编写一个解析器来解析输入数据,选择和修改字段子集并将它们输出为不同的格式。这很容易。输入数据的模式将来可能会发生变化,我希望我的解析器能够处理最后n个输入模式以实现向后兼容。希望输出模式不必改变,但如果确实如此,我希望将其保持在最低限度。我的问题是 - 我应该如何组织解析器代码来处理输入模式的这种增量更改,同时尽可能地重用代码。我还想让一个新人进入并轻松添加对下一个版本的支持。
如果重要,输入数据包含类型和子类型的记录(因此可以进行模块化分析)。编程语言将是python(因此可以反射)。输入格式为消息包,输出格式为json。
我的想法很少。打开任何建议 -
答案 0 :(得分:0)
如果您希望保持向后兼容性,那么您将希望拥有清晰的模块和清晰的功能。没有一段代码试图做太多。
规范不应该改变太多,因此您可以在函数中使用if-else
语句。但是,请确保函数的实际行为不会发生变化。