我在为公司的报告设计面向未来的设计时遇到了一些麻烦。本质上,要求是:
- 能够从数据库中提取任何数据
- 通过填充模板(HTML、docx)从该数据生成格式化报告
- 导出到 Word 和/或 PDF
因此,最初我为每个报告创建了一个 API 端点(这是一个 Web 应用程序),并生成了 PDF 并正确格式化。
但是现在我需要将数据转换为 .docx/Word 格式,并且我正在尝试弄清楚如何设计尽可能 DRY 的东西,这样我就不必每次公司都投入大量工作决定他们需要另一份报告(他们已经这样做了两三次,这就是我意识到我已经将自己编码到角落的原因)。
到目前为止,我所做的每个报告都是通过“蛮力”方法完成的:对报告所需的查询进行编码,格式化数据,然后呈现为 PDF(通过 phantomjs 使用 HTML 到 PDF)。
当公司回来说“嘿,我们需要所有这些 Word 格式的报告时,复杂性就出现了,我们还需要 3 份其他新报告,以及一份与旧报告略有不同但 +/- 2 的报告领域”。
我只是在想出一个可靠的设计/抽象时遇到了麻烦,每次需求发生变化时,它都不会让我陷入为期一周的黑客狂欢。