我很好奇人们发现了哪些工具可用于构建流程图.显然MS Visio和OmniGraffle浮现在脑海中,但他们都感到非常臃肿,并且往往强调文档格式化/打印方面,而不是帮助组织实际逻辑.那些开发人员会推荐其他什么吗?
我希望找到一些相当简单的东西,当我在复杂的逻辑工作中时,我会动态地将流程图放在一起.我不关心格式化或字体之类的东西,只是在我完成它的过程中帮助我保持逻辑有序的东西.甚至可以安排图表本身的东西,只是允许我指定分支的位置和检查的内容等.
任何操作系统都可以,但我个人倾向于OS X应用程序,因为这最近是我的主要工作环境.
小智 8
看看graphviz.
例:
digraph finite_state_machine {
rankdir=LR;
size="8,5"
node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
node [shape = circle];
LR_0 -> LR_2 [ label = "SS(B)" ];
LR_0 -> LR_1 [ label = "SS(S)" ];
LR_1 -> LR_3 [ label = "S($end)" ];
LR_2 -> LR_6 [ label = "SS(b)" ];
LR_2 -> LR_5 [ label = "SS(a)" ];
LR_2 -> LR_4 [ label = "S(A)" ];
LR_5 -> LR_7 [ label = "S(b)" ];
LR_5 -> LR_5 [ label = "S(a)" ];
LR_6 -> LR_6 [ label = "S(b)" ];
LR_6 -> LR_5 [ label = "S(a)" ];
LR_7 -> LR_8 [ label = "S(b)" ];
LR_7 -> LR_5 [ label = "S(a)" ];
LR_8 -> LR_6 [ label = "S(b)" ];
LR_8 -> LR_5 [ label = "S(a)" ];
}
Run Code Online (Sandbox Code Playgroud)
生产:
(来源:graphviz.org)
它特别适合从程序生成.
尽管您将其列为臃肿,但我仍然使用OmniGraffle。
为了快速绘制流程图,一系列带有磁铁线的方框就足够了,但其余的格式化选项最好稍后再使用。我发现我花时间绘制的任何流程图通常都会出现在某个文档中。即使当我只是想理解一些困难的代码时,我最终也会得到一页文档,试图为下一个必须深入研究的可怜的笨蛋解释该代码。