再论状态机--switch 和if else 半斤八两那些事儿........

2019-12-09 13:46发布

本帖最后由 lonesomely 于 2019-9-16 13:39 编辑

很多仪器工作起来 ,,肯定状态执行的  ,,当满足了第一步,,再进行下一步操作,,
比如液体微量元素分析:
先水浴升温到60度,,等过了 60度 在静止10分钟 (目的是是温度在60度稳定) ,,在进行下一步浸泡在水浴的试管内液体化学元素分析
当客户发现水浴内水不多了  ,,那肯定加水 ,,此时不满足条件了  ,,肯定从头开始,
如果用switch是否会存在回不到之前的状态而用 if...else 就可以避免呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
41条回答
wajlh
1楼-- · 2019-12-11 06:34
myqiang1990 发表于 2019-9-16 15:06
我觉得应该叫“状态迁移系统”合理一些,不能叫"状态机",Finite State Machine应改该为Finite State sys ...

大家都懂就好,比如wifi的发音到现在还有争议。钽电容 好多人读dan电容。不影响交流。
wye11083
2楼-- · 2019-12-11 11:05
dr2001 发表于 2019-9-16 14:53
状态机是高层抽象,描述和分析导致系统状态变化的因果关系。

switch/if/LUT是具体的实现手段。 ...

其实可以简单认为一个是有排他性的,一个是抢占性的。switch可以指定多重响应(见过这种写法),换成if要绕一大圈子。但硬件本质上都差不多。
hecat
3楼-- · 2019-12-11 15:12
myqiang1990 发表于 2019-9-16 14:19
一个简单的条件判断跳转,非得搞得什么“状态机”这种高大上的名词,我一直很反感“状态机”这个名词,就是 ...

当条件多了,情况多了,状态机就变成必须的了。不然自己都不知道怎么回事。
njlzzdh
4楼-- · 2019-12-11 18:01
 精彩回答 2  元偷偷看……
浮华一生
5楼-- · 2019-12-11 18:30
njlzzdh 发表于 2019-9-17 08:04
我也很反感状态机这种叫法,简单的东西被复杂化。作者出发点是想把代码同“状态机“普适化,但我觉得没必要 ...

那是写代码太少才会有你觉得的这些感觉。  委托在C里面就是类似回调。本质就是函数指针。 而回调又是异步的基础。 这些东西都是构成项目代码的基本。
对于状态机,我记得有本书叫《计算理论导引》,好像是这个,不太清楚了,这些名词不是说随便叫的,这些东西最终都能归纳到数学方法上的,有理论支持的。只不过我们平时用一用并没有去在意而已。
njlzzdh
6楼-- · 2019-12-11 21:25
浮华一生 发表于 2019-9-17 09:00
那是写代码太少才会有你觉得的这些感觉。  委托在C里面就是类似回调。本质就是函数指针。 而回调又是异步 ...

先声明我不抬杠。从个人经历来说,越是简单明了的东西,越会降低后期重拾起来的成本。因为我们关注的重点是代码要如何实现生产需要,而不弄一大堆80%项目都用不到的高级表现手法。回到原来的话题,你周边的同事,客户,供应商有多少是用了状态机的表现手法?大家都不常用的东西,放到项目中,存萃就是增加了沟通和时间成本。

一周热门 更多>