SQL程序流程图生成软件程序流程
我在Oracle 2000+行中有很多很长的程序,有很多的调用。我想生成程序流程图(算法),以便更好地了解进一步重构的过程。SQL程序流程图生成软件程序流程
这不是我写的代码,所以我不知道逻辑不够。
你会建议在这种情况下做什么?我试图画出类似文本的流程,但需要花费很多时间,并且仍然很难涵盖理解的所有逻辑。
我看到的最好方法是从SQL过程生成的流程图,并链接到代码和图表之间的“跳转”。
UPDATE: 做同样发现几个软件:
ClearSQL - 使CRUD图,呼叫图形和流程图。 (使用它现在):它具有Outline(使代码流能够折叠 - 展开代码块 - 非常酷!),代码资源管理器(枚举所有的func,包含链接的参数ti SQL文本 - 只是在界面)功能
有一个产品,Code Visual to Flowchart,它可以采取各种语言的代码,并做你所描述的东西。不幸的是,虽然Oracle似乎并不在支持的语言列表中,但是Microsoft TSQL是;也许你至少可以将你的proc从Oracle转换到MS,并用它来粗略地显示你的proc的流程。
如果未能达到burnall的建议听起来像是最好的选择,那么本质上就是分而治之。
我怀疑这样的工具,即使它存在,可以帮助更好的理解。我认为,大流程图的时间已经结束。
我会建议通过逐步重构来理解逻辑:
迭代地将部分过程提取到较小的过程并添加测试。
不,我的意思是“可以同时看到代码的大块逻辑”的流程图。 我试图调试,但它是疯狂的 - 用大量的参数步进吨吨过程 - 我只是不能“加载”到我的脑海。 提取,在我看来,并没有真正的帮助 - 我有一个大的proc,在顶层有很多的游标迭代和大量的检查和proc调用 - 只是无法想象我可以提取什么...这是一个问题。 – zmische 2010-01-27 14:27:06
可能是流程图有助于您的认知风格。如果是的话,我很高兴。 真的这是一个非常普遍的问题:如何理解和支持可能不是由天才创建的大型旧程序) – burnall 2010-01-27 15:41:03
是的,你是对的。那些大的老编... – zmische 2010-01-27 18:56:30
问题归结为建议一种工具,软件,库,这是一种偏离主义。 – Trilarion 2015-02-15 10:56:11