string - 根据用户表单输入创建自定义报告的最佳实践?
问题描述
我的问题
根据用户表单输入创建自定义报告的最佳实践是什么?具体来说,我如何创建一个易于维护的系统,该系统接受以表单收集的用户输入并生成多个解释分析结果的段落。
背景
我正在与一家初创公司(我的客户)合作一个非常大的多年项目。我的工作是编程分析并向用户生成报告。数据管道如下所示:
用户在表单中输入信息 -> 根据用户输入计算结果 -> 向共享分析的用户显示报告。
对我的客户来说,以非正式用户友好的语气以段落的形式显示一些分析结果非常重要。挑战在于表格和分析非常复杂,并且随着时间的推移只会变得更加复杂。段落模板类型的示例如下所示:
resultsParagraphText=`Hi ${userName}. We found that the best ice cream flavour for you is ${bestIceCreamFlavor}. These other flavors ${otherFlavors} might be good for you. Here are the reasons why you might enjoy these flavors: ${reasonsWhyGoodFlavors}.
However we would not recommend these other flavors ${badFlavors}. Here are the reasons you should avoid this bad flavors: ${reasonsWhyBadFlavors}.`
这些结果段落,其中有很多,有几个小问题,这些小问题结合起来很重要:
- 如果代码中存在错误,最终用户会看到轻微的视觉错误(大写错误、缺少/多余的逗号等)。
if answers.previousFlavors.includes("Vanilla")
生成结果段落需要大量字符串比较(例如)。表单中的小错误(例如vanilla
,表单没有大写,因此answers.previousFlavors.includes("Vanilla")
即使用户输入 vanilla 也返回 false。)可能导致结果段落中的错误。- 项目不同部分(形式、分析)的变化直接影响结果段落的制作方式。错误的类型、字符串值的差异、未直接捕获的空值或未定义值都会影响结果段落的制作方式。
- 有很多边缘情况(例如,如果用户没有其他适合他们的好口味怎么办?
These other flavors ${otherFlavors} might be good for you.
需要排除该句子)。 - 使用模板并具有非正式语气的段落很难编写。
- 等等。
我有图表和其他类型的方法来显示结果,并向客户解释了以段落形式共享信息的挑战。
我在找什么
我需要关于如何构建可维护系统以根据用户输入生成自定义段落的示例、操作方法和最佳实践。我知道如何解决每个单独的问题(因为它们相当简单),但在大型项目中,这将变得非常难以维护。
笔记
- 我不知道该帖子使用什么标签。如果您知道更合适的标签,请随意编辑/添加标签。
- 该项目计划在未来项目的其他部分使用机器学习。如果有有用的 ML/AI 解决方案,请告诉我。
- 我主要使用 JavaScript、Python、C 和 R 工作,但如果有任何其他语言的库或工具,请告诉我。找到解决方案对我来说非常重要,我愿意学习很多找到最佳解决方案。
- 为了避免这个问题被删除,因为我已经改写它以避免征求个人意见,而不是询问现有的例子或如何做。我也可以想象其他人可能会找到一个相当有用的解决方案。如果您可以对其进行编辑以使问题不那么主观,请这样做。
- 如果您有任何问题或需要澄清,请随时提问。任何帮助表示赞赏。