ASCII图值得我的时间吗?

Jes*_*son 18 language-agnostic diagram ascii

源代码中的ASCII图是否值得他们创建时间?

我可以更快地创建位图图,但是在源文件中排列图像要困难得多(直到VS2010).

为了记录,我不是在谈论装饰性的ASCII艺术.

这是我最近为我的代码创建的图表的示例,我可能在MS Paint的一半时间内构建了该图表.

          Scenario A:

                          v
 (U)____________(N)_______<--(P)                   Legend:
          '     /             |                    J = ...
          '    /              |                    P = ...
          '   /d              |                    U = ...
          '  /                |                    v = ...
          ' /                 |                    d = ...
          '/                  |                    N = ...
         (J)                  |
          |                   |
          |___________________|
Run Code Online (Sandbox Code Playgroud)

rme*_*dor 9

如果您使用工具从代码生成文档(例如Doxygen),则应该有一种方法可以直接引用图像文件并将其显示在生成的文档中.对于Doxygen,相关命令是\ image.这结合了实际图像图表的优点和来自源的易于引用(无需启动像Word这样繁重的程序),以及自动生成的文档.


Tom*_*ski 6

使用描述性变量和函数名称编写清晰简洁的代码可以更好地利用时间,不需要注释来理解.评论和设计文件都没有编译.结果,它们很快就与代码不同步而变得误导.

  • 但是,使用图形和几何算法,图片确实可以说超过一千个单词(或代码行). (6认同)
  • 即使团队中的每个人都熟悉该域,我们也不能指望每个人都能够读取像`const double c = P*P - 2.0*P*J + J*J - d*d`这样的代码并且知道到底是怎么回事.几何算法需要几何解释.最简单的方法是通过视觉辅助. (5认同)
  • 有些事情很难用语言清楚地表达,更不用说简明扼要了.例如,通常以图形方式更好地解释非平凡算法和图形例程. (2认同)
  • 在真正的生产代码中实际上非常罕见.通常期望从事代码工作的人员熟悉问题域.评论或设计文档不负责教他们问题领域.例如,我希望在拼版库中处理2D图形变换的代码读者能够理解2D图形变换的工作原理.我不会把它作为我的代码或设计的一部分来解释它. (2认同)

jam*_*one 6

你有没有看过那里的各种ASCII艺术转换器?这样你就可以在油漆或其他任何东西中快速绘制,然后让它导出ASCII艺术.


小智 5

您可以使用http://www.asciiflow.com绘制非常简单的类/流程图等.它完全基于网络,使用javascript.建议使用Chrome/Firefox.