我完全知道这个想法很可能在我不熟悉的主题中得到了很好的解释。假设您正在编写一小段代码,该代码需要输入任意数量的变量。这些变量可以有几种状态,即:
因此,如果我们有3个输入变量,每个变量有3个状态,我们最终会得到27个可能的情景。假设我必须根据某些变量的状态或状态组合(AND,NAND,OR等)来做一些逻辑。我是否可以轻松地构建一个程序,以便我可以在没有if / else样式逻辑的绝对混乱的情况下覆盖所有场景?我想到的第一件事就是状态机,但在看了一下之后,我并不完全相信它是一回事。
答案 0 :(得分:0)
如果是样式逻辑,但您可以使用karnaugh maps使其更清晰,并确保您已涵盖所有可能性。你做了什么,是你做一个网格显示每个可能的状态组合。然后,根据您想要对它做出反应的方式,以不同的方式标记每个状态。这样做的目的是将国家分组。然后,您可以轻松查看您的状态组是否在逻辑上“靠近”,如果是这样,您可以简化控制逻辑。快速搜索卡诺图将会显示explanations,由于图片更容易理解,但我们的想法是使用网格查看哪些变量与一组状态无关,并优化它们。逻辑。