生如春花之绚烂,逝如秋叶之静美

使用GitHub Actions为Python代码自动评分

最近我的开源 CMS 项目上线了,看到 GitHub 又推出了 Actions 这个新功能,才开始被整的一脸懵,完全不知道这个是干嘛的…

在学习了新的 YAML 语法、看了官方文档之后发现这个东西用来做 CI/CD 是非常方便的,于是决定使用它配合 Pylint 对代码自动评分来控制每次 push 的代码质量。

使用GitHub Actions为Python代码自动评分

使用FSM进行复杂订单状态管理(3)

我们接着上面一篇文章,这次我们需要利用有限状态机来实战的解决订单状态的管理问题。

使用FSM进行复杂订单状态管理(3)

使用FSM进行复杂订单状态管理(2)

接着上一篇文章,我们这次来设计一个简单可扩展的有限状态机。

根据有限状态机的定义,我们的状态机将有三部分组成:

  • 状态类 - 负责承载状态信息
  • 事件类 - 负责记录事件发生的信息并执行转移函数
  • 管理器类 - 负责记录状态转移表并管理当前的状态

下面让我们开始建模。

使用FSM进行复杂订单状态管理(2)

使用FSM进行复杂订单状态管理(1)

在商城类项目过程的开发过程中我们常常会遇到订单状态的管理问题,当所涉及到的订单状态不多时,我们通常可以对每一种状态设置标志字符串,通过简单的判断来进行状态管理。

使用FSM进行复杂订单状态管理(1)