方案: 这个在线问卷将由公司的各个部门填写。问题是数据驱动的,每个部门都有所不同。 但是对于一些问题,输入的方式也不同;对于某些部门,要求通过从下拉列表中选择值来回复相同的问题,其他部门的自由文本输入;再次,对于某些部门,您可以更改进入区域的标题。这个标题不是问题的一部分。它现在也不是来自数据库,而是Id而不是将它全部放在数据库中并增加每个选择的连接。在有这些字幕的二十多个问题中,只有3个这样的字幕会发生变化。
例如。
问:。)你想怎么到这儿? {caption:“输入您喜欢的传输方式”} [自由文本框]A部门。)
问:。)你想怎么到这儿? {caption:“选择选项”} [下拉]B部门。)
设计和编码以下方式的基于网络的问题的最佳方法是什么?
还有其他更好的方法吗?
感谢您的时间。 :)
答案 0 :(得分:0)
我建议使用if / else语句来显示和隐藏各种问题。
我之所以说if / else而不是子类,是因为你会遇到一个案例,过去对所有部门来说“常见”的问题变得特定于少数,你必须将该问题重构为子类并在不适用的地方将其删除。 if / else代码可能会变得乏味,但不会比我上面提到的重构更乏味。
此外,我还强烈建议您强烈考虑将调查问题规范化。换句话说,在上面提供的示例中,我将自由文本和选项两个不同的问题。这不会改变答案的输入方式,只会改变您对不同问题的看法。
我之所以这样说,原因是您在答案上所做的任何分析都依赖于比较苹果和苹果 - 当您限制或释放可用选项列表时,您将苹果与橙子进行比较。