最近改造别人的项目,看着流程逻辑的写法有点心寒

,但想着很多新手估计都会犯同样的问题,借此发出来分享下
改之前为

改之后为

大概意思
1、就是尽量把 流程信号用位逻辑处理,显得整体比较简洁。
2、交握信号如果用字去维护单一逻辑,尽可能在统一的地方将其解析成位逻辑信号(加注释)用于流程判断,像图1,用了一堆D字判断=K1,K2,K3的,还得去别的地方去理解K1,K2,K3的字面意思,把你当前的思路跳转到别的地方,增加维护成本,或者可以标签常量定义K1,K2,K3的值,看个人取向
还有其他地方也可简化,比如多路真空判断,逻辑上只需用到一个信号,至于信号的通断可在其他地方进行多路判断