c# - 解释递归树遍历的最佳 UML 图是什么?

标签 c# parsing tree uml diagram

我想解释一下我的 C# 代码,它遍历解析树以进行代码分析。它类似于以下但更长:

    private void traverse(ParseTreeNode node)
    {
        if (node.ChildNodes.Count == 0)
        {
            return;
        }

        switch (node.Term.Name.ToUpper())
        {
            case "FILE":
                traverse(node.ChildNodes[0]);
                return;

            case "PROGRAM":
                traverse(node.ChildNodes[0]);
                return;

            //etc.
        }
    }

最合适的 UML 图是什么?谢谢

最佳答案

继续 dasblinkenlight 回答后评论中出现的讨论,我建议使用以下事件图作为解决方案:

enter image description here

事件图强调流程/算法中的步骤顺序、途中做出的决策、操作的数据和计算、最终的并发任务、调用等。

事件图总是有某种上下文。在这种情况下,它是一种方法 traverse()。

关于c# - 解释递归树遍历的最佳 UML 图是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23325600/

相关文章:

c# - 在应用程序的开头加载所有项目,还是在每个用户操作时加载所需的项目?

parsing - 在同一个应用程序中是否可以有两个或多个 Lex/Yacc 解析器

python - 无论如何要抓取重定向的链接?

php - 将值传递给隐藏的表单字段/解析数据

c# - 使用 Linq 读取第 n 层列表并将所需数据保存到另一个列表

tree - 树遍历的时间复杂度是多少?

javascript - 一般树后序遍历

c# - 将方法存储在数组中并在 C# 中调用它们

c# - 强制枢轴项目在显示之前预加载

c# - 如何更改现有命名管道的安全性?