你用什么来创建流程图?

Wil*_*lco 5 flowchart

我很好奇人们发现了哪些工具可用于构建流程图.显然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)

它特别适合从程序生成.


And*_*ter 5

纸和笔怎么样?还是白板?

有时物理对象的易用性和触觉反馈是最合适的.


DGe*_*try 2

尽管您将其列为臃肿,但我仍然使用OmniGraffle

为了快速绘制流程图,一系列带有磁铁线的方框就足够了,但其余的格式化选项最好稍后再使用。我发现我花时间绘制的任何流程图通常都会出现在某个文档中。即使当我只是想理解一些困难的代码时,我最终也会得到一页文档,试图为下一个必须深入研究的可怜的笨蛋解释该代码。