DingYuan0118.github.io

代码设计方法

状态机流转

当一个状态流程满足以下几个条件时,可以使用 Switch case 的方法提高代码复用率及逻辑可读性

func TranferStateMachineByCurrentStatus {
  switch {
    case Status1:
      ...
      fallthrough

    case Status2:
      ...
      fallthrough
    
    case EndStatus:
      ...
    
    default:
      panic("unknown status")
  }
}

锁的使用

为了防止某个函数的执行过程并发,通常需要再该函数调用时增加锁。

流程切分

当一个流程因特殊原因被切分成两个部分时,需要考虑在两部分中间中断时能否有效重试,需要依赖一下两个特性

接口设计考虑

流程设计考虑

当一个流程涉及多个交互方时理论上要注意一下几点

自驱状态机设计