Scripting 使用流程图或图表跨程序执行例程

Scripting 使用流程图或图表跨程序执行例程,scripting,refactoring,flowchart,Scripting,Refactoring,Flowchart,我有一组繁忙的例程来验证或下载当前的客户端应用程序。它以调用.WSF文件的Windows桌面快捷方式开始。这将调用多个.VBS文件、一个用于设置的.INI文件以及一个可能的.BAT文件。其中一些脚本文档具有内部功能。最后一个阶段打开一个Microsoft Access数据库,其中包含一个AutoExec宏,该宏启动一些VBA,包括一个窗体,该窗体在VBA中有自己的加载例程 这些细节都不是特别重要的(因此请不要添加VBA标记,也不要批评我宝贵的复杂性)。关键是我有各种各样的工具和容器,它们可能是功

我有一组繁忙的例程来验证或下载当前的客户端应用程序。它以调用.WSF文件的Windows桌面快捷方式开始。这将调用多个.VBS文件、一个用于设置的.INI文件以及一个可能的.BAT文件。其中一些脚本文档具有内部功能。最后一个阶段打开一个Microsoft Access数据库,其中包含一个AutoExec宏,该宏启动一些VBA,包括一个窗体,该窗体在VBA中有自己的加载例程

这些细节都不是特别重要的(因此请不要添加VBA标记,也不要批评我宝贵的复杂性)。关键是我有各种各样的工具和容器,它们可能是功能嵌套的

我需要更好的技术在流程图中解析它。目前,我依赖以下任何或全部:

  • 鲜明的颜色
  • 包含一个例程的大盒子
  • 经典的“控制权转移”符号
  • 也许是解释性的呼唤
我不应该增加我的流程图词汇吗?教程解释了正方形、菱形、圆形等等。当然,FC可以帮助我处理这类事情:

  • 过多的脚本类型让我能够满足不同的需求,我想指出工具/语言
  • 子例程可能会导致整个任务的中止或错误,我想展示更高级别的“封闭”例程对该任务的处理(或其后果)
  • 我想区分“内部”子例程和不同脚本文件中的子例程
  • 并发脚本处理可能变得至关重要,所以我想指出这一点
  • INI文件允许我为所有例程提供持久值。这是如何绘制的
  • 函数可能有一个参数和一个返回值/引用。。。我甚至不知道如何有效地引用这一点 请提供指导或向我指出一个额外的有用资源。如果你推荐一个分析工具集(比如UML,我还没有掌握它的窍门),请告诉我在哪里可以找到一个好的介绍


    我对软件不感兴趣。请考虑这是一个白板练习。 对这个问题的讨论表明,流程图既没有用处,也不准确

    准确度取决于流程图的构建方式。如果它们是手工构建的,它们就像任何其他手工构建的文档一样,几乎会立即过时;这使得手工构建的流程图变得毫无用处,这就是为什么人们喜欢查看代码的原因

    [此回复的其余部分违反了OPs“对软件(生成流程图)不感兴趣”的要求,因为我认为这是以某种有用形式获取软件的唯一方法。]

    如果流程图是由适当的语言精确分析工具从代码中派生出来的,那么它们将是精确的。参见第页的示例这些示例在语义上是精确的,尽管那里的页面没有提供精确的语义,但这只是一个文档细节

    很难找到这样的工具:-}特别是如果您想要跨多种语言和多种“执行范例”的流程图(OP希望包括他的INI文件;它们是某种隐含的赋值语句,我很确定他希望对SQL操作建模,因为它们往往是表上的纯计算,所以没有什么用处)

    还不清楚这样的流程图是否有用。如果您考虑到所有微观细节(例如,每个子例程调用可能产生中止控制流弧[因为每个调用都可能引发异常]),那么我提供的页面上的示例应该是半文化的这些图表变得非常大,速度非常快。图表占用空间(方框、菱形、线条、大量空白)这一事实严重加剧了这种情况。一旦它们变大,你就会在弧后迷失在空间中。这也是人们避免整个系统的流程图的一个很好的理由。(人们喜欢文本语言的另一个原因是它们实际上非常密集;使用简洁的语言可以在页面上获得很多信息,等等,你会看到APL:)

    如果函数具有复杂的逻辑,它们可能对单个函数没有什么帮助

    我认为你不太可能得到语言精确的分析器来生成你想要的所有语言的流程图,这样的分析器可以很好地组成他们的流程图(你想要JavaScript调用C#运行SQL…?)

    您可能希望的是一个折衷的解决方案:使用指向其他引用工件的各种超链接显示代码。您仍然需要生成此类超链接代码的能力(请参阅以了解其中一种可能的工作方式),但您还需要跨语言边界的超链接


    我知道目前还没有这样做的工具。我怀疑你是否有兴趣或意愿自己开发这样的工具。

    我已经有25年没有在野外看到过流程图了。我真的不推荐它们。谢谢……那么也许你已经知道我问题的答案了。不是真的,因为我不明白它是什么。besT代码的文档通常是代码本身,带有注释,以及关于如何使用它的概述文档/教程。我认为FC解决逻辑错误是必要的。如果这是旧学校,那么我可能喜欢转换到任何新学校。但是无论如何,这可以帮助您理解我的感觉需要或工作目标。流程图不能。解决逻辑错误,因为它们不严格,也没有语法。这是一个很棒的分析,尽管我可能会指出它与OP(“我对软件不感兴趣”)不匹配从这一点,我会得出结论,你认为OP是不负责任的,我尊重,当然,我意识到我确实缺乏兴趣或意志力。