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

2019-12-09 13:46发布

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

很多仪器工作起来 ,,肯定状态执行的  ,,当满足了第一步,,再进行下一步操作,,
比如液体微量元素分析:
先水浴升温到60度,,等过了 60度 在静止10分钟 (目的是是温度在60度稳定) ,,在进行下一步浸泡在水浴的试管内液体化学元素分析
当客户发现水浴内水不多了  ,,那肯定加水 ,,此时不满足条件了  ,,肯定从头开始,
如果用switch是否会存在回不到之前的状态而用 if...else 就可以避免呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
41条回答
浮华一生
1楼-- · 2019-12-11 22:21
njlzzdh 发表于 2019-9-17 10:27
先声明我不抬杠。从个人经历来说,越是简单明了的东西,越会降低后期重拾起来的成本。因为我们关注的重点 ...

项目复杂度低的话,你说的完全正确。但是复杂度上去后,你就发现这些个你不以为然的高级语法糖的威力是巨大的。 就好像高级语言和低级语言一样,高级语言实现的东西,你说低级语言实现不了吗? 肯定能实现,但是,复杂度可不一样。 高级语言通过语法糖或者语言特性几句代码的事情,低级语言可能要写很多的代码来实现。回到switch 和if else  一旦情况比较多。switch的实现相对其实更加直观简单。 if else 找花括号都找得痛不欲生
wangweigang0
2楼-- · 2019-12-12 02:57
还是看分支的数量,多就用switch,少就ifelse。有时搞个函数数组也能解决问题。
myxiaonia
3楼-- · 2019-12-12 03:22
 精彩回答 2  元偷偷看……
limaotaizi
4楼-- · 2019-12-12 07:01
楼主说的用那种都没问题,怎么switch就做不到呢?
你只要在后面那个状态下多判断温度是否低于60,如果是,那就状态变成了初始化状态,等下switch就执行初始化状态下的那些逻辑了。。。
jackjiao
5楼-- · 2019-12-12 08:56
复杂问题简单化,抽象为有限状态切换,一旦建立好,像机器一样各个状态机械式切换,状态机没问题
ldj7501
6楼-- · 2019-12-12 19:10
状态机其实是一种概括性说法,便于分析,最终还是用switch 实现的,所以没什么矛盾。

一周热门 更多>