最近上课和作业接触了很多 有限状态机 (Finite-state machine) 的概念,认识到这东西不管是UI开发、还是游戏开发、业务抽象、协议、算法设计等等等等等领域都有着非常广泛的应用。
在运用这个模型分析问题,画状态图的时候总感觉处理细节的过程有点麻烦,有没有可以直戳重点绘图的工具呢?刚刚带着这个问题搜索了一下,答案主要集中在知乎的这个问题上:
词法分析器里那个状态转换图要用什么画? - 知乎
有用 Word,Visio,PowerPoint 画的,但还是摆脱不了花时间处理无用的界面细节的无谓精力消耗,总的来说有两个不错的工具。
一个是 AT&T 实验室的 Graphviz,可以利用它提供的 dot 语言写脚本一键生成,顺便爬到了一个不错的教程:
利用 Graphviz 画 FSM 状态图 - Qian's World
另一个就更强了,直接用 HTML5 的 Canvas 配合 JavaScript 实现了一个在线的。
Finite State Machine Designer - by Evan Wallace
原来早已有前辈做过类似的事,十分佩服。