TLDR:如果我为每种格式手动构建了一个多用途解析器,从长远来看,使用一大块解析器代码和 ANTLR、PyParsing 或类似语法来指定每种格式会更好吗?
背景:我的工作涉及来自大约 50 个不同基准的大量基准日志文件。有一些 XML、一些 HTML、一些 CSV 和许多没有文档规范的专有内容。为了节省我和我的同事手动输入这些数据的时间,我编写了一个解析工具,它可以通过统一的界面处理我们经常处理的所有格式。但是,设计不是那么干净。
我用 Python 写了这个东西并创建了一个 Parser 类。每种文件格式都作为一种实现来处理,它为 Parser 的 read() 方法提供自己的代码。我喜欢只有一个使用语法来理解每种格式的 Parser 定义的想法,但我以前从未这样做过。
这值得我花时间吗,一旦我完成重构,其他新手将来会更容易合作吗?